gpt4 book ai didi

c++ - 每次按键时从零开始计数

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:31:39 25 4
gpt4 key购买 nike

我有一个程序可以在屏幕上绘制图像。这里的绘图函数是按帧调用的,里面有我所有的绘图代码。

我编写了一个图像排序器,它从图像索引中返回相应的图像。

void draw()
{
sequence.getFrameForTime(getCurrentElapsedTime()).draw(0,0); //get current time returns time in float and startson application start
}

在按键时,我从第一张图像 [0] 开始序列,然后继续。所以,每次我按下一个键,它都必须从 [0] 开始,不像上面的代码,它基本上使用 currentTime%numImages 来获取帧(这不是图像的起始 0 位置)。

我想写一个自己的定时器,基本上可以在每次按下按键时触发,这样时间总是从 0 开始。但在这样做之前,我想问问是否有人对此有更好/更简单的实现想法?

编辑
为什么我不只使用一个计数器?我的 ImageSequence 中也有帧速率调整。

Image getFrameAtPercent(float rate)
{
float totalTime = sequence.size() / frameRate;
float percent = time / totalTime;
return setFrameAtPercent(percent);
}

int getFrameIndexAtPercent(float percent){
if (percent < 0.0 || percent > 1.0) percent -= floor(percent);
return MIN((int)(percent*sequence.size()), sequence.size()-1);
}

最佳答案

void draw()
{
sequence.getFrameForTime(counter++).draw(0,0);
}

void OnKeyPress(){ counter = 0; }

有什么原因这还不够吗?

关于c++ - 每次按键时从零开始计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14576133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com