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 |