Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何使用box2d在侧视flash游戏中实现慢动作效果_Actionscript 3_Flash_Box2d - Fatal编程技术网

Actionscript 3 如何使用box2d在侧视flash游戏中实现慢动作效果

Actionscript 3 如何使用box2d在侧视flash游戏中实现慢动作效果,actionscript-3,flash,box2d,Actionscript 3,Flash,Box2d,当我在做侧视自行车特技游戏时,我试图在自行车特技表演时添加慢动作效果。 有没有办法在Box2D中显示这种慢动作效果。在这方面有人能帮我吗 感谢和问候 Chandrasekhar无论是否使用Box2D,实现此效果的简单方法是增加时间修改器 假设在运行函数中移动播放器,如下所示: player.x += vel_x; player.y += vel_y; 您可以设置一个初始化为1的时间修改器变量 var time_mod:Number = 1; 然后更新所有动作,如下所示 player.x +=

当我在做侧视自行车特技游戏时,我试图在自行车特技表演时添加慢动作效果。 有没有办法在Box2D中显示这种慢动作效果。在这方面有人能帮我吗

感谢和问候


Chandrasekhar

无论是否使用Box2D,实现此效果的简单方法是增加时间修改器

假设在运行函数中移动播放器,如下所示:

player.x += vel_x;
player.y += vel_y;
您可以设置一个初始化为1的时间修改器变量

var time_mod:Number = 1;
然后更新所有动作,如下所示

player.x += vel_x * time_mod;
player.y += vel_y * time_mod;
然后,当你想要“慢动作效果”时,改变你的时间变量。对于一半的实时时间,将您的time_mod更改为0.5。如果你想把它改成2或3,超慢?改为0.3


你明白了吗?

如前所述,更改时间步长可以产生慢动作效果。它还具有改变重力影响身体的方式的副作用,并可能使其他事情复杂化,例如在多人游戏中记录重播或同步状态


另一种选择是为每个时间步长使用固定的时间步长,并跟踪所有实体的先前位置和角度。然后,可以在最后一帧和当前帧之间进行插值,以在帧间位置绘制它们。这意味着您总是在物理引擎中的当前位置后面画一些东西,但在30-60fps的典型帧速率下,这应该不明显。

我相信引擎在启动时会采用一个时间步长参数,t试着玩它。@Idog:你能给我举个例子吗?事实上,我没有理解你的意思……我想Idog指的是你的world对象中的step()方法。我相信这需要时间的价值。尝试使用更小/不同的时间值,同时让游戏以自己的速度运行。@Chandu:是的,引擎中基本上必须有一个step()函数或类似的函数,因为它是连续情况的离散近似值。谢谢@iforce2d,这对我来说是值得的。