2011-05-03 2 views
2

나는 Cocos2d로 게임을 만들고 있습니다. 현재 나는 매 3 초마다 75 픽셀 간격으로 움직이는 적이 있습니다. 나는 그들을 쏘고 싶다. 이 말은 적을 움직이고 멈추고 쏘고 다시 반복하기를 원한다는 뜻입니다. 하지만 분명히 CCShootAction이 없다는 것을 알고 있습니다. 나는 Enemies.m 클래스에서 shoot 메서드를 가지고 있지만, 거기에는 휴면 모드가있다. HelloWorldLayer.m 클래스로 이동하지 않고 어떻게 적을 쏠 수 있습니까? 어떤 도움을 주셔서 감사합니다. 고맙습니다!!CCAction help in Cocos2d

답변

1

반복 동작과 CCCallFuncO 동작을 사용하여 적의 개체를 보낼 수 있습니다. HelloWorldLayer.m 클래스의 일부 FUNC에서

: 촬영 선택기에서

- (void) someFunc 
    { 
     // ... 

      Enemy* enemy; // your enemy object 
     // ... 

      CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)]; 
      CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy]; 
      CCSequence* sequ = [CCSequence actions:move,shot,nil]; 
      CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequ]; 
      [sprite runAction:repeat]; // your enemy sprite here 
     } 

     - (void) shoot: (id) obj 
     { 
      Enemy* enemy = (Enemy*)obj; 
      [enemy shoot]; 
     } 

당신은이 작업을해야처럼 보인다 객체

+0

에서 약간의 메소드를 호출 할 수 있지만, 슬프게도 그렇지 않습니다. 문제 해결 팁이 있습니까? – ipodfreak0313