当我尝试在精灵上运行动作时,我在String secondString = stringName.substring(80);
中设置了一个常量,我在didMoveToView
函数中使用了相同的名称并得到了一个&#34 ;使用未解析的标识符:"播放器"错误。我有另一个游戏,我完全相同的东西,它运行完美。需要帮忙!这是我的代码:
touchesBegan
答案 0 :(得分:0)
使player
成为一个类范围变量(属性)。声明它不是在函数中,而是在上面的级别。
var player: SKSpriteNode?
override func didMoveToView(view: SKView) {
player = SKSpriteNode ...
然后通过player?
访问它。最安全的方式。
答案 1 :(得分:0)
您的问题是您在player
内声明didMoveToView
。这使得它对didMoveToView
方法是私有的。您需要做的就是将let player = SKSpriteNode(imageNamed: "koala_idle")
移动到您声明movingGround
的位置以及其他变量。
您的代码应该如下所示:
import SpriteKit
class GameScene: SKScene {
var movingGround : MCTGround!
var fruitGenerator : MCTFruitGen!
var cloudGenerator: MCTCloudGen!
let player = SKSpriteNode(imageNamed: "koala_idle")
var isStarted = false
override func didMoveToView(view: SKView) {
player.position = CGPointMake(95, 150)
addChild(player)
答案 2 :(得分:0)
转到文件检查器(右键单击错误引用的文件,然后选择Show File Inspector
)。在目标会员身份中,确保选择了您的实际应用。
就我而言,仅选择了测试模块。
据我所知(这是我的新手),所引用的文件已在 ViewController 中隐藏/未注册。