如何将视图添加到SceneKit?

时间:2018-06-12 20:28:54

标签: swift scenekit

我是Swift的新手,目前正在编写迷你高尔夫游戏。 但是,球员可以击球n次。

如何制作一个简单的视图,该视图应显示玩家剩余的点击次数?

2 个答案:

答案 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)"
这是真的! :)希望它有所帮助!