【发布时间】:2021-03-15 05:24:39
【问题描述】:
对于一个项目,我必须让精灵跳跃,但我不知道该怎么做,我已经测试过了
while(sfRenderWindow_pollEvent(window, &event)) {
if (event.type == sfEvtClosed) {
sfRenderWindow_close(window);
}
if (event.type == sfEvtKeyPressed) {
if (event.key.code == sfKeySpace || sfKeyUp)
jumping = 1;
}
}
if (jumping) {
while (clock < 60) {
printf("%f\n", dino_pos.y);
if (clock < 30) {
dino_pos.y -= 2;
sfSprite_setPosition(dino, dino_pos);
clock++;
} else if (clock < 60) {
dino_pos.y += 2;
sfSprite_setPosition(dino, dino_pos);
clock++;
}
}
if (clock >= 60)
clock = 0;
printf("Jump\n");
}
jumping = 0;
但他不工作,我的程序是 60 fps,所以我希望跳转持续时间为 1 秒。 Printf 在这里查看我的恐龙的位置,但我猜跳跃是即时的,所以我没有时间看到跳跃。你有跳楼的想法吗?
【问题讨论】:
-
这是我的代码的一部分,所以如果你看到时钟不正常