spritekit 菜单区域和按钮是否需要成为场景的一部分?
Do spritekit menu area and buttons need to be part of the scene?
正在尝试编写我的第一个 sprite kit 游戏。在屏幕的顶部,我将有一个菜单区域,其中包含按钮、游戏时间等。游戏的 skscene
将位于正下方。两者将同时可见。
由于菜单只是一个菜单,我的想法是将该区域设为 UIView
普通 UIButtons
,即没有 sprite kit 节点。然后,在菜单下方添加一个SKView
,让它填满屏幕的剩余部分并呈现游戏场景。所以菜单区是UIView
,游戏区是兄弟SKView
.
这是最佳做法吗?从我遇到的许多例子来看,感觉 sprite kit 打算让你只有一个 SKView,并全屏显示场景,并将场景本身内的任何菜单按钮包含为 sprite 节点。但是我看不出这样做有什么好处。
在许多游戏中,您描述的 "main menu" 会被称为 "HUD," 或抬头显示器。它显示了您需要的所有按钮,并且只是屏幕顶部的一个 SKSpriteNode。您可以添加 SKSpriteNodes 作为 HUD 的子节点,当点击时,将执行一个动作:
let button = SKSpriteNode()
button.position = CGPointMake((-200), 0)
button.color = SKColor.redColor()
button.size = CGSizeMake(15, 15)
button.name = "button"
HUD.addChild(button)
检查是否按下了该按钮:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
let node = nodeAtPoint(location)
if node.name = "button" {
//run code
}
}
}
这个方法比较简单,但是你不得不放弃UIButtons。您可能还想设计用作按钮的节点:我使用了 this 编辑器。
希望这对您有所帮助,祝您好运。
正在尝试编写我的第一个 sprite kit 游戏。在屏幕的顶部,我将有一个菜单区域,其中包含按钮、游戏时间等。游戏的 skscene
将位于正下方。两者将同时可见。
由于菜单只是一个菜单,我的想法是将该区域设为 UIView
普通 UIButtons
,即没有 sprite kit 节点。然后,在菜单下方添加一个SKView
,让它填满屏幕的剩余部分并呈现游戏场景。所以菜单区是UIView
,游戏区是兄弟SKView
.
这是最佳做法吗?从我遇到的许多例子来看,感觉 sprite kit 打算让你只有一个 SKView,并全屏显示场景,并将场景本身内的任何菜单按钮包含为 sprite 节点。但是我看不出这样做有什么好处。
在许多游戏中,您描述的 "main menu" 会被称为 "HUD," 或抬头显示器。它显示了您需要的所有按钮,并且只是屏幕顶部的一个 SKSpriteNode。您可以添加 SKSpriteNodes 作为 HUD 的子节点,当点击时,将执行一个动作:
let button = SKSpriteNode()
button.position = CGPointMake((-200), 0)
button.color = SKColor.redColor()
button.size = CGSizeMake(15, 15)
button.name = "button"
HUD.addChild(button)
检查是否按下了该按钮:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
let node = nodeAtPoint(location)
if node.name = "button" {
//run code
}
}
}
这个方法比较简单,但是你不得不放弃UIButtons。您可能还想设计用作按钮的节点:我使用了 this 编辑器。
希望这对您有所帮助,祝您好运。