FC2ブログ

Entries

cocos2d 動作:特殊アクション を日本語訳の巻

iPhone の 2Dアクションゲームを簡易に開発できるライブラリ、cocos2d のプログラミングガイドを日本語訳しています。

今回は、特殊なアクション。

こういうのを頭の片隅に入れながら作成すると、ここでこれだ!!ってなるんでしょうね。

------------------------------------
cocos2d プログラミングガイド

<目次
特殊アクション

CallFunc / CallBlock 関連 Action

CallFunc

CCCallFunc アクションを使うと、アクションからメソッドを呼び出すことができるようになります。

連続アクションの最後に有効に使用することができます。

例:
id actionTo = [CCMoveTo actionWithDuration: 2 position: ccp(s.width-40, s.height-40)];
id actionBy = [CCMoveBy actionWithDuration: 2 position: ccp(80,80)];
id actionCallFunc = [CCCallFunc actionWithTarget:self selector:@selector(doATask)];
 
id actionSequence = [CCSequence actions: actionTo, actionBy, actionCallFunc, nil];
 
-(void) doATask
{
//何かしらのコード
}


CallFuncN と CallFuncND アクション

CCCallFunc には、2種類のアクションがあります。CCCallFuncN と CCCallFuncND です。

CCCallFuncN は引数としてノードを取ります。CCCallFuncND はノードとデータのポインタを取ります。

id actionCallFuncN = [CCCallFuncN actionWithTarget:self selector:@selector(doATaskN:)]; // make sure you notice the trailing :
id actionCallFuncND = [CCCallFuncND actionWithTarget:self selector:@selector(doATaskND:data:) data:pointerToSomeData];
 
- (void) doATaskN: (id)node
{
//何かしらのコード
}
 
- (void) doATaskND: (id)node data:(void*)d
{
//何かしらのコード
}


CallBlock / CallBlockN

v0.99.2 から有効

// BCA は Block Copy Autorelease の略で cocos2d のマクロです
 
// CCCallBlock (引数なし)
id blockAction = [CCCallBlock actionWithBlock:BCA(^{
[label setString:@"Called Block!"];
})];
 
// CCCallBlockN (引数としてノードを渡す)
void (^block)(CCNode*) = BCA(^(CCNode *n) {
// ノードで一般的な処理を行う
CCLOG(@"called block for %@", n);
});
id blockAction2 = [CCCallBlockN actionWithBlock:block]


CCFollow

v0.99.2 から有効

『カメラ」をシュミレートします。フォローされたノードが中心になります。

// create an sprite
id sprite = [CCSprite xxxx];
 
[self addChild:sprite];
 
[self runAction: [CCFollow actionWithTarget:sprite worldBoundary:CGRectMake(0, 0, (winSize.width*2)-100, winSize.height)]];


CCPropertyAction

v0.99.2 から有効

Objective-C のすべてのクラスのどんなプロパティも変更できる、「包括的な(generic)」アクションです。

 // rotation プロパティを 0 から −270 へ、2秒間かけて変更します。それから、逆回りします。
id rot = [CCPropertyAction actionWithDuration:2 key:@"rotation" from:0 to:-270];
id rot_back = [rot reverse];
id rot_seq = [CCSequence actions:rot, rot_back, nil];


-------------------------
うーん、英語が少ない。

次行ってみましょう!
スポンサード リンク

コメント

コメントの投稿

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://miyachikantaro.blog.fc2.com/tb.php/18-6e242c04
この記事にトラックバックする(FC2ブログユーザー)

Appendix

出演ゲーム

みやちかんたろうの大冒険

↑インストールはこちらから
予告編

21面デモ

ステージ作成

検索フォーム

訪問者

Apple製品紹介

Apple MacBook Air 1.6GHz 13.3インチ MB003J/A

中古価格
¥59,800から
(2013/1/24 06:45時点)

QRコード

QR

メールフォーム

名前:
メール:
件名:
本文:

Extra

プロフィール

みやちかんたろう

Author:みやちかんたろう
種別:きいろいねこ
年齢:10歳
性別:オス
趣味:昆虫採集
twitter:@gatsupport

※このサイトはリンクフリーです。ご自由にリンクしてください。相互リンクもじゃんじゃん募集中です!!

最新記事

最新コメント

最新トラックバック

月別アーカイブ