我有一个名字的类(Player.swift)。然后在我的(Scene.swift)类中,我声明了我的对象。
var player: Player?
然后在我的initializeGame函数中,我这样做
private func initializeGame() {
player = childNode(withName: "Player") as? Player!;
//print NIL
print(player?.name);
// initializePlayer()is declared in Player.swift
player?.initializePlayer();
print(player?.name);
//Print NIL
scoreLabel = childNode(withName: "ScoreLabel") as? SKLabelNode!;
scoreLabel?.text = "0";
}
我在Xcode中制作了我的ios项目,并且工作正常,然后我创建了一个Playground项目并导入了这个项目中的所有xcode文件,我的游乐场正常运行,除了玩家运行不正常。问题在于将播放器节点与.sks文件中的自定义类相关联。我的Xcode项目的名称是“Game play”,所以我在模块中编写Game Play,在自定义类中编写Player,并在Playground中使用相同的sks文件导致问题,我的游乐场项目的名称是“MyPlayground”,因此模块名称应该与项目名称相同,所以我将模块字段编辑为Myplayground,仍然无法正常工作。因此,请指导我如何正确地改变它。
答案 0 :(得分:0)
方法childNode(withName:)
返回已添加到节点层次结构中的现有子节点。如果找不到具有该名称的节点,则返回nil
。
您是否有代码添加名称为"播放器"?的节点它是Player
类型的节点吗?它被叫了吗?
答案 1 :(得分:0)
1 - 打开您的(.sks)文件
2 - 选择播放器节点。
3 - 选择显示自定义班级检查员。
4-Write" MyPlayground_Sources"而不只是MyPlayground。