xcode UIDynamicAnimator中的多次重力或恒定力

Min*_*Man 0 game-engine ios uikit-dynamics

我意识到精灵套件是游戏的方式,但我想知道是否有办法使用UIDynamicAnimator来设置除重力之外的额外恒定力.我正在制作一个平台游戏,并将重力向下调整.我有屏幕设置的部分来表示箭头键(按屏幕顶部跳转,侧面向左/向右移动......).到目前为止,我已经使用UIPushBehavior来左​​右跳跃和脉冲.

我想做的是让视图(播放器)在键按下时不断向左或向右移动.我想这将需要第二个横向"重力".我会在触摸屏幕的左侧部分时将其打开,并在触摸释放时关闭.关于替代品的任何想法?显然你不能做2个重力.我在想,如果你不能做两种力量,也许是一种方向为一个方向设置一个恒定的速度.

编辑:我想另一种方式来表达这将是...有没有办法直接设置视图的速度?

Und*_*ndo 5

你可以使用UIPushBehavior:

UIPushBehavior *pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.viewToAccelerate] mode:UIPushBehaviorModeContinuous];
pushBehavior.angle = M_PI_4;
pushBehavior.magnitude = 0.3;
[self.animator addBehavior:pushBehavior];
Run Code Online (Sandbox Code Playgroud)

你只需改变modeto UIPushBehaviorModeContinuous来制造一个恒定的力量.玩大小和角度,直到它符合您的需要.这将对您的视图应用恒定加速度.