【发布时间】:2017-05-18 22:43:46
【问题描述】:
我目前正在开发一个应用程序,在该应用程序中,您的播放器是一个小圆球,可以通过您的手指在屏幕上拖动。然后每 10 秒添加一个敌方球,它会自动跟踪你的球并跟随它,直到它撞上它。这是我到目前为止的代码。你可以在屏幕上拖动你的球,但是即使它的文件在资产中,它也只显示为红色 x 的敌方球每帧都会生成,它们只是移动到你的球在生成时所在的位置.有什么办法可以解决这个问题,不胜感激。我稍后会添加球之间的接触。
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var me = SKSpriteNode()
let enemy = SKSpriteNode (imageNamed: "ellipse 1")
override func didMove(to view: SKView) {
me = self.childNode(withName: "me") as! SKSpriteNode
let border = SKPhysicsBody (edgeLoopFrom: self.frame)
border.friction = 0
self.physicsBody = border
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches{
let location = touch.location(in: self)
me.run(SKAction.moveTo(x: location.x, duration: 0))
me.run(SKAction.moveTo(y: location.y, duration: 0))
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches{
let location = touch.location(in: self)
me.run(SKAction.moveTo(x: location.x, duration: 0))
me.run(SKAction.moveTo(y: location.y, duration: 0))
}
}
override func update(_ currentTime: TimeInterval) {
let enemy = SKSpriteNode (imageNamed: "ball 2")
enemy.position = CGPoint(x:667, y: -200)
enemy.run(SKAction.moveTo(x: me.position.x, duration: 1.5))
enemy.run(SKAction.moveTo(y: me.position.y, duration: 1.5))
enemy.zPosition = +1
addChild(enemy)
}
}
【问题讨论】:
标签: ios swift sprite-kit