クソゲー作ることで敷居を下げて学習
iOSでクソゲー、格好良く言えばインディーゲームを作ろうとしている。iOSの学習は4月から始めたが、幾度となく挫折してきた。継続するために、目標を低くし、アウトプットを出すことを心がける。
SprikeKitを使用
SpriteKitを作って開発することにした。分かる人がまわりにいるからだ。
このへんを参考にした。
http://spritekit.jp/tutorial/animation/
Sprite KitでFlappy Birdを作る - Qiita
アニメーションさせる
マウスでクリックしたところに移動する。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; CGPoint location = [touch locationInNode:self]; SKNode *cat = [self childNodeWithName:@"cat"]; SKAction *moveToTouch = [SKAction moveTo:location duration:1.0f]; [cat runAction:moveToTouch completion:^{NSLog(@"%@",NSStringFromCGPoint(location));}]; }
アニメーションを繰り返す
//図形を移動 CGPoint screenTop = CGPointMake(cat.position.x, self.view.bounds.size.height); CGPoint screenBottom = CGPointMake(cat.position.x, 0); SKAction *moveDown = [SKAction moveTo:screenBottom duration:2.0f]; SKAction *moveTop = [SKAction moveTo:screenTop duration:0.0f];
上に戻る方法がわからなかった。参考サイトを見ると、duration:0.0fになっていた。0秒で戻ればいいのだ。
//一連のアニメーション
SKAction *sequence = [SKAction sequence:@[moveDown,moveTop]];
sequenceというグループにアニメーションをセットすれば、複数のアニメーションを実行できる。
[wall runAction:[SKAction repeatActionForever:sequence]];
repeatActionForeverで繰り返し実行できる。