我是Swift的新手,目前正在编写迷你高尔夫游戏。 但是,球员可以击球n次。
如何制作一个简单的视图,该视图应显示玩家剩余的点击次数?
答案 0 :(得分:0)
有几种方法可以解决这个问题。最常见的方法是在场景包场景中覆盖spritekit场景。在spritekit场景中,您可以拥有一个更新的标签元素
代码看起来像
let overlay = SKScene(fileNamed: "yourspritekitscene.sks")
yourScnView.overlaySKScene = menuOverlay
您还可以将spritekit场景指定为场景中3D对象的纹理。或者你可以使数字成为你倒计时交换的纹理。
答案 1 :(得分:0)
我认为你想要这样的东西:
首先,我建议你创建一个在游戏重启时调用的功能,你可以重置场景,重置玩家移动等等......
您可以这样做:
func restart(){
//Everything you need to restart the game
}
稍后再打电话给你:
restart()
好的,让我们来看看你现在问的问题: 声明一个Int变量,其中包含玩家拥有的移动次数:
var playerMoves = 10 //Whatever number you want
好的,你有一个包含移动次数的变量,现在你必须在你的场景中显示这个,为此,创建一个SKLabelNode:
let moveLabel = SKLabelNode()
现在,将标签文本设置为与您的playerMoves相同,设置位置,zPosition,字体,无论您想要什么:
moveLabel.text = "\(playerMoves)" //add this line to restart function that i mentioned and also set the variable playerMoves to "n" again.
moveLabel.position = ....
moveLabel.fontSize = ....
moveLabel.zPosition = ... //A number higher than any other zPosition
addChild(moveLabel) //Don't forget to add the label to scene!
多数民众赞成!现在你必须在每次玩家移动时更新playerMoves,为此我假设你在玩家移动时以某种方式控制(使用更新功能,触摸开始,创建一个功能等等)< / p>
所以...当玩家采取一招时:
playerMoves -= 1
moveLabel.text = "\(playerMoves)"
这是真的! :)希望它有所帮助!