gpt4 book ai didi

ios - 我不断收到错误 'Instance member isPaused cannot be used on type GameScene'

转载 作者:行者123 更新时间:2023-11-30 11:59:06 25 4
gpt4 key购买 nike

这是我的代码,我有一个按钮,当我单击它时,我想暂停游戏以显示菜单...我在显示错误的地方有评论,所以您希望能看到我的内容我做错了。

另外,我不确定这段代码是否应该位于我的 GameScene 文件中,如果不是,您能否让我知道它应该位于哪个文件中。

感谢您的帮助。

//
// GameScene.swift
// Pong2
//
// Created by Hussain on 10/11/16.
// Copyright © 2016 Archetapp. All rights reserved.
//

import SpriteKit
import GameplayKit

class GameScene: SKScene {

var ball = SKSpriteNode()
var enemy = SKSpriteNode()
var main = SKSpriteNode()

var topLbl = SKLabelNode()
var btmLbl = SKLabelNode()

var score = [Int]()

@IBOutlet weak var pauseBetton: UIButton! // HERE IS MY OUTLET


override func didMove(to view: SKView) {

func pauseButton (sender: UIButton){ // HERE'S MY FUNCTION TO TRY AND PAUSE MY GAME
let pauseAction = SKAction.run {
GameScene.isPaused = true // HERE'S THE LINE I GET MY ERROR
debugPrint("Paused")
}
}



topLbl = self.childNode(withName: "topLabel") as! SKLabelNode
btmLbl = self.childNode(withName: "btmLabel") as! SKLabelNode
ball = self.childNode(withName: "ball") as! SKSpriteNode

print(self.view?.bounds.height)

enemy = self.childNode(withName: "enemy") as! SKSpriteNode
enemy.position.y = (self.frame.height / 2) - 50

main = self.childNode(withName: "main") as! SKSpriteNode
main.position.y = (-self.frame.height / 2) + 50

let border = SKPhysicsBody(edgeLoopFrom: self.frame)

border.friction = 0
border.restitution = 1

self.physicsBody = border

startGame()
}
}

最佳答案

isPaused 是实例方法,而不是类方法。您需要在 SKNode 的特定实例(例如您的 GameScene 实例)上调用它。

GameScene.isPaused = true 更改为 self.isPaused = true 或简单地 isPaused = true

除了这个问题之外,您还需要从 didMove(to:) 方法内部移动 pauseButton 方法。

func pauseButton (sender: UIButton) {
let pauseAction = SKAction.run {
self.isPaused = true
debugPrint("Paused")
}
}

override func didMove(to view: SKView) {
topLbl = self.childNode(withName: "topLabel") as! SKLabelNode
btmLbl = self.childNode(withName: "btmLabel") as! SKLabelNode
ball = self.childNode(withName: "ball") as! SKSpriteNode

print(self.view?.bounds.height)

enemy = self.childNode(withName: "enemy") as! SKSpriteNode
enemy.position.y = (self.frame.height / 2) - 50

main = self.childNode(withName: "main") as! SKSpriteNode
main.position.y = (-self.frame.height / 2) + 50

let border = SKPhysicsBody(edgeLoopFrom: self.frame)

border.friction = 0
border.restitution = 1

self.physicsBody = border

startGame()
}

关于ios - 我不断收到错误 'Instance member isPaused cannot be used on type GameScene',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com