如何在SpriteKit中创建风效果

3

我正在玩愤怒的小鸟游戏,到了一关卡,其中风会“吹”你并且有点推动你。这很有趣,但我真的无法想出实现这一效果所需的逻辑或代码。

我知道你可能可以使用发射器来创建类似于“看起来”的风,但我真的很想知道如何实现精灵的“推动”。

谢谢

1个回答

8

你说得没错,发射器只能用来制造一种风在吹的假象。

我假设你已经把物理体附加到了需要受到风影响的节点上。

在你的-update:方法中,

-(void)update:(CFTimeInterval)currentTime
{

    if (windOn)
    {
        for (SKNode *node in self.children)
        {
            if (node.physicsBody.categoryBitMask == whateverCategory)
            {
                [node.physicsBody applyForce:CGVectorMake(200, 0)];
            }
        }
    }
}  

这个模拟了从左到右吹来的风。您需要调整矢量以达到所需的力的方向和大小。

哦,一股力量,向左走将展示精灵“挣扎”在风中穿行,像什么? - Sleep Paralysis
1
很抱歉,我不明白你的意思。力量将根据节点当前的移动方式影响它。因此,如果节点逆着“风”前进,它会减速;如果它顺着风前进,它会加速,如果它正在下落,它会向右下方掉落。 - ZeMoon
1
谢谢,那就是我所问的。 - Sleep Paralysis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接