[cocos2d] использование CCSprite из HelloWorldLayer в других классах - PullRequest
0 голосов
/ 13 августа 2011
NSLog(@"lets test if this is called (before)");

HelloWorldLayer *helloWorldLayer = [HelloWorldLayer node];
//calling HelloWorldLayer  

id moveup = [CCMoveBy actionWithDuration:0.1 position:ccp(0, 5)];
[helloWorldLayer.player runAction:moveup];

NSLog(@"lets test if this is called (after)");

так что в основном я написал этот код, и NSLogs работают нормально, но мой спрайт плеера не двигается ... я не думаю, что код (CCMoveBy) неправильный.Итак, сначала я подумал, что это не вызов HelloWorldLayer, поэтому я попробовал это.

Я поместил этот код в другой класс.

HelloWorldLayer *helloWorldLayer = [HelloWorldLayer node];
//calling HelloWorldLayer  

[helloWorldLayer moveMyCharacter];

и этот код в моем HelloWorldLayer

-(void)moveMyCharacter
  NSLog(@"MOVE UP");

id moveup = [CCMoveBy actionWithDuration:0.1 position:ccp(0, 5)];
[_player runAction:moveup];

и NSLog сработал, но персонаж не двигается ...

Мне нужна помощь: (

1 Ответ

0 голосов
/ 13 августа 2011

Где ты это называешь? Вызывая [HelloWorldLayer node], вы создаете новый слой при каждом запуске этого кода. Если вы не добавите этот новый слой в сцену, вы ничего не увидите. Возможно, вы захотите получить ссылку на уже существующий слой вместо создания нового.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...