私はクラス名(Player.swift)を持っています。私の(Scene.swift)クラスで、私はこのようなオブジェクトを宣言しました。カスタムタイプのChildNodeがSwift PlaygroundでNilを返しています
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プロジェクトを作って、その作業罰金、それから私は遊び場プロジェクトを作成し、すべてのXcodeのファイルをインポートしますこのプロジェクトでは、プレイヤーが正しく機能していないことを除いて、私のプレイグラウンドが正常に動作しています。問題は、Playerノードを.sksファイルのカスタムクラスに関連付けることです。私のXcodeプロジェクトの名前は "ゲームプレイ"なので、私はカスタムクラスのモジュールとプレーヤーでゲームプレイを書いて、問題を引き起こしているプレイスグラウンドと同じsksファイルを使って、私の遊び場プロジェクトの名前は "MyPlayground"なので、モジュール名プロジェクト名と同じにする必要があります。したがって、モジュールフィールドをMyplaygroundに編集しても、まだ動作しません。それで、それを正しく変更する方法を私に教えてください。
編集を確認してください。問題は、Playerノードを.sksファイルのカスタムクラスに関連付けることです。 –
Swift(およびその目的のObjective C)は大文字と小文字を区別しますので、モジュール名が.swiftファイルで使用しているインポートと正確に一致するようにしてください。 –
以前は.sksファイルで遊んでいませんでしたが、問題を再現するための簡単なデモをまとめることができるかどうか確認してください。 –