【发布时间】:2021-10-16 04:32:58
【问题描述】:
我的再次播放按钮有问题。我从 touchBegan func 内部的图像创建它,我让它改变了场景,但它不起作用
class GameScene: SKScene {
var playagain = SKSpriteNode(imageNamed: "unnamed")
override func didMove(to view: SKView) {
playagain.position = CGPoint(x: frame.midX, y: frame.minY + 40)
playagain.size = CGSize(width: 250, height: 120)
self.addChild(playagain)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
for touch in touches {
let location = touch.location(in: self)
let node : SKNode = self.atPoint(location)
if (node.name == "unnamed"){
let gamescene = GameScene(fileNamed: "GameScene")
gamescene!.scaleMode = SKSceneScaleMode.resizeFill
self.view?.presentScene(gamescene!, transition: SKTransition.fade(with: UIColor.black, duration: 1.5))
}}}
【问题讨论】:
-
您为什么要尝试从 GameScene 访问 GameScene?这没有意义。为什么是“再次播放按钮”?它来自哪里?
-
@ElTomato 没有其他游戏场景。在游戏的场景中,下半部分是得分,我很想添加一些重置/重新加载/再次播放按钮来重置场景/得分/所有内容,这样你就可以重新开始玩了。这是一个你匹配球的游戏,如果没有其他球可以匹配,现在你需要 RR 所有游戏。 (P.S 我正在学习所以这是一个无用的小游戏)
-
提示:回到游戏最初开始的地方
-
@ElTomato 你这是什么意思?
-
提示 2:
SKScene不是视图控制器
标签: swift xcode button sprite-kit skspritenode