Эй, ребята! Я новичок здесь в стеке, и я также новый программист. Я пытаюсь научить себя быстрому, но я столкнулся с некоторыми проблемами. Я пытаюсь заставить шар двигаться вертикально только тогда, когда вы нажимаете на шар, поэтому, если вы нажмете на экран, а не на шар, он не поднимется. что у меня пока.
//Function on vetical movement
func moveVertically (up:Bool) {
let moveAction = SKAction.moveBy(x: 0, y: 3, duration: 0.50)
let repeatAction = SKAction.repeatForever(moveAction)
if up {
player?.run(repeatAction)
}else{
let moveAction = SKAction.moveBy(x: 0, y: -3, duration: 0.01)
let repeatAction = SKAction.repeatForever(moveAction)
player?.run(repeatAction)
}
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let location = touch.previousLocation(in: self)
let node = self.nodes(at: location).first
if node?.name == "player"{
moveVertically(up: true)
}else {moveVertically(up: false)
}
}
}
func createPlayer(){
//create a ball
let path = CGMutablePath()
path.addArc(center: CGPoint.zero,
radius: 15,
startAngle: 0,
endAngle: CGFloat.pi * 2,
clockwise: true)
let ball = SKShapeNode(path: path)
ball.lineWidth = 1
ball.fillColor = .blue
ball.strokeColor = .white
ball.glowWidth = 0.5
//set the player to ball and manipulate the player position.
player = ball
player?.position = CGPoint(x: 0, y: (scene?.size.height)! / -2.5)
self.addChild(player!)
}
P.S. Я пытаюсь заставить шар двигаться вертикально, но также когда вы нажимаете на правую сторону мяча, он уходит влево и наоборот, но когда я говорю налево, я имею в виду идти вертикально вверх и влево.