在我的游戏中,用户控制他们四处移动的船只。
我应该如何允许用户从一系列节点中进行选择?
例如,提供红色/蓝色/绿色船只,当他们的分数= X时,他们可以选择甚至解锁。
这是我当前玩家节点的代码:
let shipTexture = SKTexture(imageNamed: "ship1.png")
ship = SKSpriteNode(texture: shipTexture)
ship.position = CGPoint(x: self.frame.midX, y: -self.frame.height / 3)
ship.zPosition = 3
ship.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 30, height: 100))
ship.physicsBody!.isDynamic = false
ship.run(makeShipAnimate)
ship.physicsBody!.contactTestBitMask = ColliderType.ship.rawValue
ship.physicsBody!.categoryBitMask = ColliderType.ship.rawValue
ship.physicsBody!.collisionBitMask = ColliderType.ship.rawValue
ship.physicsBody?.affectedByGravity = false
self.addChild(ship)
有没有办法允许用户在“ship1.png”或“ship2.png”之间进行选择?
答案 0 :(得分:0)
有很多方法可以做到这一点。这样的事情应该让你开始:
import SpriteKit
class GameScene: SKScene {
var shipName = ""//create a var to hold the chosen ship
然后创建一些按钮或方式供用户选择哪艘船并创建一个函数来处理选择,方法是传入与特定颜色相对应的Int
:
func chooseShip(ship: Int) {
switch ship {
case 0:
shipName = "blueShip.png"
break
case 1:
shipName = "greenShip.png"
break
default:
shipName = "greenShip.png"
}
}
因此,如果选择蓝色船只,该按钮将调用上述功能并传入选择:
chooseShip(ship: 0)
用户选择后,您可以加载所需的图像:
let shipTexture = SKTexture(imageNamed: shipName)
etc...