gpt4 book ai didi

ios - SpriteKit 传送带

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:27 27 4
gpt4 key购买 nike

我正在尝试像这样使用 SpriteKit 创建传送带效果

Screenshot

我的第一个 react 是创建一个比屏幕大的传送带图像,然后用 Action 永远重复移动它。但这似乎不太好,因为它取决于屏幕尺寸。

有没有更好的方法来做到这一点?

同样显然我想把东西(它们会独立移动)放在传送带上所以节点是一个 SKNode 带有正在移动的子 Sprite 节点。

更新:我希望传送带“视觉”移动;所以线条在一个方向上移动,给人以运动的印象。

最佳答案

physicsBody 应用于所有需要在传送带上移动的 Sprite ,并将 affectedByGravity 属性设置为 NO。

在这个例子中,我假设代表传送带的 spriteNode 被称为 conveyor。此外,所有需要移动的 Sprite 节点都将字符串“moveable”作为它们的 name 属性。

然后,在您的 -update: 方法中,

-(void)update:(CFTimeInterval)currentTime
{
[self enumerateChildNodesWithName:@"moveable" usingBlock:^(SKNode *node, BOOL *stop{
if ([node intersectsNode:conveyor])
{
[node.physicsBody applyForce:CGVectorMake(-1, 0)];
//edit the vector to get the right force. This will be too fast.
}
}];
}

在此之后,只需将所需的 Sprite 添加到正确的位置,您就会看到它们自己移动。

对于动画,最好使用可以在 Sprite 上循环的纹理数组。

或者,您可以添加和删除一系列带有截面图像的小 Sprite ,并像移动传送带上移动的 Sprite 一样移动它们。

关于ios - SpriteKit 传送带,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21040217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com