为什么SpriteKit的Showfields属性无法正常工作?
在SpriteKit构建游戏时,我使用代码> 具有负面强度
以模拟正电荷的电场。为了可视化字段及其互动,我使用代码> 属性,它运行正常。
现在,尝试实施负电荷,我尝试将所有字段切换为 。字段和粒子(吸引力和排斥)的行为继续完美地工作,但是 Showfields
创建的视觉表示停止工作。
调查,视觉表示仅适用于 radialgravityfield
,并且对所有其他 skfieldnode
选项。我试图改变田野的力量,但什么都没有。除了田野物理效果很好,我还使用 skphysicsworld.sample fields(at:) ,它们是正确的。
示例
基于Xcode的iOS游戏默认项目的 ,以下此 GAMESCENE
可以重现该行为。从 skfieldnode.radialgravityfield()
更改为 skfieldnode.electricfield()
使字段未显示。
import SpriteKit
import GameplayKit
class GameScene: SKScene {
private var fieldNode : SKFieldNode?
override func didMove(to view: SKView) {
view.showsFields = true
self.fieldNode = SKFieldNode.radialGravityField() // Change field type here
if let fieldNode = self.fieldNode {
fieldNode.strength = 2
}
}
func touchDown(atPoint pos : CGPoint) {
if let n = self.fieldNode?.copy() as! SKFieldNode? {
n.position = pos
self.addChild(n)
}
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for t in touches { self.touchDown(atPoint: t.location(in: self)) }
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论