From f04f9b701942d7fe6c9cc0eeb6b7d711577f7db0 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Thu, 29 Dec 2022 13:08:53 +0100 Subject: Improve pieces animations --- src/game_tab/left_panel/board/BoardCanvas.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp') diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp index 23a013e..f0cf1c5 100644 --- a/src/game_tab/left_panel/board/BoardCanvas.cpp +++ b/src/game_tab/left_panel/board/BoardCanvas.cpp @@ -66,15 +66,14 @@ void BoardCanvas::OnPaint(wxPaintEvent &event) { else { // Otherwise reuse buffer and animate. TEST CODE FOR NOW: dc.DrawBitmap(*adata.buffer, 0, 0, true); - double frames=adata.duration/(1000/adata.fps); - double percent=adata.frame/frames; + double percent=adata.frame/adata.frames; // Draw moving piece dc.DrawBitmap(*t->Get(adata.piece_moved), - adata.src.x + adata.frame*(adata.transVect.x/frames), - adata.src.y + adata.frame*(adata.transVect.y/frames), false); + adata.src.x + adata.frame*(adata.transVect.x/adata.frames), + adata.src.y + adata.frame*(adata.transVect.y/adata.frames), false); // end drawing adata.frame++; - if(adata.frame>=frames){ + if(adata.frame>=adata.frames){ adata.reuseBuffer=false; SetupBoard(adata.final_board, adata.final_is_black_turn, adata.final_captures); } @@ -125,7 +124,7 @@ void BoardCanvas::Animate(std::string board, bool is_black_turn, std::mapGetPiecesSizes(); std::uint32_t centrer_offset = (square_width - piece_width) / 2; if (!black_side) { @@ -153,10 +152,10 @@ void BoardCanvas::Animate(std::string board, bool is_black_turn, std::map0;i--){ + for(int i=adata.frames;i>0;i--){ Refresh(); Update(); int delay=sw.Time()-time_per_frame; -- cgit v1.2.3