状況は次のとおりです。私は自分のゲームのメインシーンとしてGameScene
クラスを持っています。私の実装では、+(id)scene
があり、appdelegate
はrunWithScene
を使ってゲームを実行し、そのメソッドを呼び出します。GameSceneのシーン(Cocos2d)にHUDを追加
同様に、私はControlLayer
クラスを作成しました。私はそれをCCLayer
サブクラスとして書いており、私の計画はControlLayer
をメインのGameScene
に追加することでした。それを開始するには+(id)control
があります。
今、私はこれをどのようにまとめるべきか正確には分かりません。私はControlLayer
オブジェクトを+(id)scene
に作成し、を使用してControlLayer
を作成しようとしました。ジョイスティックは私が触れると動きます。私が走っているように見える問題は、プレイヤーを動かすことです。
はすべてのフレームでcheckJoystick:
メソッドを呼び出す予定です。しかし、私はControlLayer
オブジェクトを+(id)scene
に宣言しているので、明らかにcheckJoystick
は私のControlLayer
オブジェクトにアクセスできません。私もControlLayer
オブジェクトを私のヘッダーに追加しましたが、明らかに+(id)scene
にはアクセスできません。 +(id)scene
を-(id)scene
に変更しようとしましたが、これはスコープの問題を修正しますが、エラーが発生します。
基本的には私の質問は次のようなものです:ControlLayer
オブジェクトをGameScene
に宣言すると、クラス全体で使用できるようになりますか?おそらくこれはinit
にあるでしょうか?
ありがとう、私のために働いた! – nick