我意识到精灵工具包是玩游戏的必经之路,但是我想知道是否有办法使用UIDynamicAnimator设置除重力以外的其他恒力。我正在制作平台游戏,并将重力降低了。我在屏幕设置的各个部分中表示箭头键(按屏幕顶部可跳跃,侧面可左右移动...)。到目前为止,我已经使用UIPushBehavior来左​​右跳跃和脉动。

我想做的是,如果按键按下,则视图(播放器)不断向左或向右移动。我想这将需要第二个横向“重力”。我将在触摸屏幕的左侧部分时将其打开,而在释放触摸时将其关闭。关于替代方案有什么想法吗?显然你不能做两个重力。我在想如果您不能施加2种力,也许是一种为方向设定恒定速度的方法。

编辑:我想这是短语的另一种方式是...有没有一种方法可以直接设置视图的速度?

最佳答案

您可以使用UIPushBehavior

UIPushBehavior *pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.viewToAccelerate] mode:UIPushBehaviorModeContinuous];
pushBehavior.angle = M_PI_4;
pushBehavior.magnitude = 0.3;
[self.animator addBehavior:pushBehavior];


您只需将mode更改为UIPushBehaviorModeContinuous即可施加恒定的力。尝试幅度和角度,直到它满足您的需求。这将为您的视图施加恒定的加速度。

10-07 22:52