iPhoneアプリ開発講座を受講する その6
[iPhone][cocos2d]
画像を表示する
CCSprite imageSprite_ = [CCSprite spriteWithFile:@"image0.png"]; [imageSprite_ setAnchorPoint:ccp(1, 0)]; imageSprite_.position = ccp(480, 0); [self addChild:imageSprite_];
画像を動かしてみる
一定時間ごとに座標位置を適当に変えていくと、
画像が動いているようにみえる。
一定時間ごとに動かす
[self schedule:@selector(update)];
呼び出されるメソッド
-(void)update { NSInteger x = imageSprite_.position.x - 1; NSInteger y = imageSprite_.position.y + 1; // 適当にクルクルまわす [imageSprite_ setRotation:x -20]; // 適当に移動 [imageSprite_ setPosition:ccp(x,y)]; // 座標位置を原点に戻す基準 if (x < 0 || y > 320) { [imageSprite_ setPosition:ccp(480, 0)]; [imageSprite_ setRotation:0]; } }
動いている画像をタップで停止➡再スタート
XXXXX.hにdelegateの宣言を書く
ついでと言ってはなんですがflagも一緒に。
// HelloWorldLayer @interface HelloWorldLayer : CCLayer<CCTargetedTouchDelegate> { BOOL isNotSchedule_; }
XXXXX.m
-(id) init { if( (self=[super init])) { isNotSchedule_ = NO; [[CCTouchDispatcher sharedDispatcher]addTargetedDelegate:self priority:0 swallowsTouches:YES]; self.isTouchEnabled = YES; } return self; } -(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event { CGPoint location = [self convertTouchToNodeSpace:touch]; if(isNotSchedule_){ isNotSchedule_ = NO; [self schedule:@selector(update)]; }else{ isNotSchedule_ = YES; [self unschedule:@selector(update)]; } return YES; }
次回の講座は来年になるんだけど、それまでに1本ゲームを制作することになってしまた。
作り終わるかなー。