gpt4 book ai didi

c++ - Sprite ;更改帧在 C++ Allegro 5 中不流畅

转载 作者:行者123 更新时间:2023-11-28 04:50:15 25 4
gpt4 key购买 nike

观看视频:https://youtu.be/i2EXKY3EQPo龙的运动不是流畅的。就好像所有的帧都在同时变化一样。我做错了什么?

shipImage = al_load_bitmap("dragon_stationary.png");
ship.maxFrame = 5;
ship.curFrame = 0;
ship.frameCount = 0;
ship.frameDelay = 50;
ship.frameWidth = 180;
ship.frameHeight = 126;
ship.animationColumns = 5;
ship.animationDirection = 1;
//this occurs every 1/60 of a second
void drawShip(SpaceShip &ship, ALLEGRO_BITMAP *flyingShip) {
if (++ship.frameCount >= ship.frameDelay) {
if (++ship.curFrame >= ship.maxFrame) {
ship.curFrame = 0;
ship.frameCount = 0;
}
}

al_draw_bitmap_region(ship.image, ship.curFrame * ship.frameWidth, 0, ship.frameWidth, ship.frameHeight, ship.x, ship.y, 0);

这是 Sprite :enter image description here

最佳答案

尝试绘制出不同值会发生什么:

|帧数 |当前框架 |

| ---------- | -------- |

| 0 | 0 |

| 1 | 0 |

| 2 | 0 |

| ... | ... |

| 49 | 0 |

| 50 | 1 |

| 51 | 2 |

| 52 | 3 |

| 54 | 4 |

| 55 | 5 |

| 56 | 0 |

| 0 | 0 |

请注意,当 frameCount 达到 50 时,它会按顺序爆破所有帧,然后仅在动画完成后才重置。您需要在每次到达 frameDelay

时重置 frameCount

关于c++ - Sprite ;更改帧在 C++ Allegro 5 中不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356187/

25 4 0
文章推荐: css - 使此表列宽度适合。不太宽也不太窄
文章推荐: html - 匹配动态类名的 CSS 通配符选择器?
文章推荐: javascript - Bootstrap markdown extraButtons 无法与很棒的字体一起使用?
文章推荐: php -
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com