Spe*_*pgh 2 physics objective-c game-physics fluid-dynamics sprite-kit
有一种简单的方法来模拟场景中的电流吗?我知道它们在spritekit中提供重力,质量,密度,阻力和其他属性,但我没有看到,我将如何模拟场景中当前影响的对象?
IE说我有一个物体从重心和密度下降,从屏幕的顶部到底部,好像它是通过watter下降,设置它应该是相当直接的.但是,假设我想在场景中间添加一个从左到右流动的电流...当物体掉落时,它开始遇到电流的影响,并且坠落开始随着电流移动,因为它越靠近电流的中心,它增加了它的左/右运动,当它通过电流的中心并远离其中心时,左/右运动减慢.
这可能吗?我是否需要创建使用重力从左向右移动的invisibe /透明节点来模拟这个?或者我应该使用不同的方法?
这可以在-update方法中处理.您可以检查某个节点是否位于某个区域内并对其施加一个力,就好像它受到电流的影响一样.
编辑:我发布了一种方法,你可以根据当前的中心区分力.
-(void)update:(CFTimeInterval)currentTime
{
for (SKNode *node in self.children)
{
if (node.position.y > 300 && node.position.y < 500) //Let's say the current is between these values, modify to your situation.
{
float diff = ABS (node.position.y - 400);//Difference from center of current.
CGVector force = CGVectorMake(2*(100 - diff), 0);//Variable force
[node.physicsBody applyForce:force];
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |