2012年06月26日

objective-c cocos2d 簡単ゲームコード

お願いします♪いいねとかつぶやいたりして下さい
 
敵が左からやってきます。
画面をタッチすることで敵をやっつけます。

敵をやっつけると、さらに敵が現れます。

永遠に繰り返します。

cocos2d入門にはいいコードだと思う。
すべて日本語コメントつけといたよ

HelloWorldLayer.m
// Import the interfaces
#import "HelloWorldLayer.h"

// HelloWorldLayer implementation
@implementation HelloWorldLayer

+(CCScene *) scene
{
	CCScene *scene = [CCScene node];
	HelloWorldLayer *layer = [HelloWorldLayer node];
	[scene addChild: layer];
	return scene;
}

// on "init" you need to initialize your instance
-(id) init
{
	if( (self=[super init])) {
        
        //モンスターを生成
		[self getMonster];
        
        //タッチイベントをオンに。
        self.isTouchEnabled = YES;
    }
	return self;
}

//タッチされると呼び出される
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    
    //タグ付けされたモンスターを呼び出す
    CCNode *monster = [self getChildByTag:1];
    
    //回転させる
    id rotate = [CCRotateBy actionWithDuration:2 angle:180*5];
    
    //透明に
    id fadeOut = [CCFadeOut actionWithDuration:2];
    
    //サイズを小さく
    id scale = [CCScaleTo actionWithDuration:0.5f scaleX:0 scaleY:0];
    
    //回転、透明、サイズ小さくを同時に実行する準備
    id spawn = [CCSpawn actions:rotate,fadeOut,scale,nil];
    
    //敵が死んだときのアクションへ
    id run = [CCCallFunc actionWithTarget:self selector:@selector(dead)];

    //回転させながら敵をやっつけ、敵をやっつけたら getMonsterへ
    id sequence = [CCSequence actions:spawn,run,nil];

    [monster runAction:sequence];

}


//モンスター作成
-(void)getMonster
{
    //モンスターを生成
    CCSprite *monster = [CCSprite spriteWithFile:@"Icon-72.png"];
    CGSize size = [[CCDirector sharedDirector] winSize];

    monster.position =  ccp( 0 , size.height/2 );

    //モンスターにタグづけ
    monster.tag = 1;

    //sprite追加
    [self addChild: monster];

    //モンスターを動かす
    id move = [CCMoveBy actionWithDuration:5 position:ccp(size.width,0)];
    id ease = [CCEaseIn actionWithAction:move rate:2];
    [monster runAction:ease];
}

//死んだらメモリから削除
-(void)dead
{
    CCNode *monster = [self getChildByTag:1];
    [self removeChild:monster cleanup:YES];
    
    //さらにモンスターを生成
    [self getMonster];
}


// on "dealloc" you need to release all your retained objects
- (void) dealloc
{
	[super dealloc];
}
@end

関連するタグ:
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ