cocos2d study #03




오늘은 본격적인 cocos2d 튜토리얼 코딩 따라하기다.

처음부터 알 수 없는 복잡한 소스코드가 흘러 넘쳤다. 첫 술에 배가 부를 수는 없으니 일단은 무작정 따라하기부터 해봤다.
코드의 내용은 물체를 움직이는 것이다.

-(void)addTarget {
    CCSprite *target = [CCSprite spriteWithFile:@"target.png" rect:CGRectMake(0, 0, 70, 70)]; 
    
    // 타겟(맘모스)의 Y축 위치 결정.
    CGSize winSize = [[CCDirector sharedDirector] winSize];
    int minY = target.contentSize.height/2;
    int maxY = winSize.height - target.contentSize.height/2;
    int rangeY = maxY - minY;
    int actualY = (arc4random() % rangeY) + minY;
    
    // 오른쪽 끝 화면 밖에 X축 위치와 위에서 결정한 Y축으로 타켓의 포지션 결정.
    target.position = ccp(winSize.width + (target.contentSize.width/2), actualY);
    [self addChild:target];
    
    // 타겟의 속도 결정.
    int minDuration = 2.0;
    int maxDuration = 4.0;
    int rangeDuration = maxDuration - minDuration;
    int actualDuration = (arc4random() % rangeDuration) + minDuration;
    
    // 액션 생성.
    id actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(-target.contentSize.width/2, actualY)];
    id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)];
    [target runAction:[CCSequence actions:actionMove, actionMoveDone, nil]];
}


이런 코드를 처음 볼 때의 막막함이란!

그러나 빌드 후의 결과는 대 실망이었다.

화면에 움직이는 물체가 나타날 것이리라 생각했지만, 아무런 변화도 없었고 모든 것이 멈춰 있었다.

코딩에 오타가 났거나, 무엇인가 빠진 것이 있을 것 같았다.

원인 파악에 많은 시간을 쏟았지만 어째서인지 전혀 이유를 알 수 없었다.

일단 튜토리얼 연습은 중단했다.



PS

코드가 제대로 실행되지 않아 스터디는 계속 진행할 수 없었다.

나중에 다른 블로그에서 같은 내용의 코드를 발견하고 (원본은 외국 사이트에 있다) 실행했을 때는 제대로 실행이 되었다. 아무래도 처음 발견했던 블로그의 내용에 잘못된 부분이 있었던 것인지, 의문이다.

'개발 > Cocos2d' 카테고리의 다른 글

cocos2d study #06  (0) 2012.10.23
cocos2d study #05  (0) 2012.10.23
cocos2d study #04  (0) 2012.10.23
cocos2d study #02  (0) 2012.10.22
cocos2d study #01  (0) 2012.10.22

+ Recent posts