Итак, вот ситуация: у меня есть класс GameScene
в качестве основной сцены для моей игры.В моей реализации у меня есть +(id)scene
, и мой appdelegate
запускает игру, используя runWithScene
и вызывая этот метод.
Аналогично, я создал класс ControlLayer
.Я написал его как подкласс CCLayer
, и я планировал добавить ControlLayer
поверх основного GameScene
.У него есть +(id)control
для запуска.
Теперь я не совсем уверен, как все это собрать.Я попытался создать ControlLayer
объект в +(id)scene
и использовать addChild:z:
, чтобы поставить ControlLayer
поверх.Джойстики у меня двигаются, когда я прикасаюсь к ним, как они должны.Проблема, с которой я, кажется, сталкиваюсь, заставляет моего игрока двигаться.
Я запланировал GameScene
вызывать метод checkJoystick:
каждый кадр.Однако, поскольку я объявил объект ControlLayer
в +(id)scene
, очевидно, что checkJoystick
не может получить доступ к моему ControlLayer
объекту.Я также добавил объект ControlLayer
в свой заголовок, но, очевидно, +(id)scene
также не может получить к нему доступ.Я попытался изменить +(id)scene
на -(id)scene
, это исправляет проблемы с областью действия, но вызывает ошибки.
По сути, я думаю, что мой вопрос таков: как мне объявить этот ControlLayer
объект в моем GameScene
, чтобы весь класс мог его использовать?Возможно, это будет в init
?