gpt4 book ai didi

swift - 任何计算 SKEmitterNode 发射的粒子数量以启用坐标跟踪的方法

转载 作者:行者123 更新时间:2023-11-30 14:19:34 25 4
gpt4 key购买 nike

这就是我的情况。

我的发射器从屏幕顶部生成并移动到屏幕底部,我试图获取一个 png 图像来跟随它们(用于命中检测目的)

问题是我需要实时更新 PNG 图像来跟踪 skemitternode,并且因为我正在生成发射器节点的多个实例,所以我无法将它们设为全局变量(需要为 n 个实例提供一个新的本地化集)

所以我想出的解决方案是有一个 while 循环,继续将 PNG 更新为发射器节点坐标。循环的条件是当粒子数小于 500(我设置的粒子生命周期)时继续循环。

我无法将 png 图像保留在 skemitter 节点中。它总是高于它或失去跟踪。

目前我正在使用:

while (particle < 5000) {
enemySmoke.position = Enemy.position
particle++
}

其中,enemySmoke 是沿 Y 轴移动的 SKEmitter 节点

var action = SKAction.moveToY(SH-SH, duration: 10 - duration)
// Basically moving to bottom of screen faster with each spawn as I have
// duration variable incrementing.

enemySmoke.runAction(SKAction.repeatActionForever(action))
Enemy.runAction(SKAction.repeatActionForever(action))

如何让发射器和 png 保持在彼此之上?

最佳答案

要让 SKEmitterNode “跟随”SKSpriteNode,到目前为止,最简单的解决方案是将发射器作为 SKSpriteNode 的子级并且仅移动SKSpriteNode。例如:

sprite.addChild(emitter)

此时发射的粒子将被添加到 SKSpriteNode 中。这不是一个想法行为,因为粒子将随 SKSpriteNode 移动。要解决此问题,您应该将 SKEmitterNodetargetNode 设置为 SKScene:

emitter.targetNode = self // Assuming self is the SKScene.

关于swift - 任何计算 SKEmitterNode 发射的粒子数量以启用坐标跟踪的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652044/

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