首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟流体流的Spritekit

模拟流体流的Spritekit
EN

Stack Overflow用户
提问于 2014-04-10 15:01:25
回答 1查看 878关注 0票数 2

有一种简单的方法来模拟场景中的电流吗?我知道它们在spritekit中提供重力、质量、密度、拖动和其他属性,但我没有看到的是,我如何模拟当前影响场景中的物体?

也就是说,我有一个物体从屏幕的顶部下降到底部,就好像它是从瓦特掉下来的,设置这个物体应该是相当直接的。然而,让我说,我想添加一个电流从左到右流过中间的场景.因此,当物体下落时,它开始受到电流的影响,并开始随着电流的移动而移动,当它靠近电流的中心时,它增加了它的左右运动,当它通过电流的中心并离开它的中心时,左右运动就变慢了。

这个是可能的吗?我是否需要创建带重力向左向右移动的invisibe/透明节点来模拟这个过程?还是我应该用不同的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 15:31:39

这可以在-update方法中处理。您可以检查某个节点是否位于某个区域内,并对其施加压力,就好像它受到了电流的影响一样。

编辑:我已经张贴了一种方法,你可以区分的力量,根据中心的电流。

代码语言:javascript
复制
-(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];
            }
        }
}  
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22991802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档