(4)cocos2d for iPhone をcocos2d-xに移植する過程の記録メモ、Androidクロスプラットフォーム化へ 、update(float delta)、タップイベント

(4)cocos2d for iPhone をcocos2d-xに移植する過程の記録メモ、Androidクロスプラットフォーム化へ 、スケジュールupdate(float delta)、タップイベント

cocos2d-xの参考になるサイトです。
CCActionを利用する

前3回のcocos2d-xに移植する過程の記録メモ

・ポーズ
cocos2d for iPhone
[[CCDirector sharedDirector]pause];

ココス2d−x
CCDirector::sharedDirector()->pause();

・メニュー
cocos2d for iPhone
CCMenuItemImage *item=[CCMenuItemImage itemWithNormalImage:@”seiseki.png” selectedImage:@”seiseki_down.png”
target:self selector:@selector(doSeiseki:)];
CCMenu *menu_miss=[CCMenu menuWithItems:item, nil];
menu_miss.position=ccp(windowsSize.width/2,40);
[self addChild:menu_miss];//

ココス2d−x
CCMenuItemImage *item=new CCMenuItemImage();
item->initWithNormalImage(“seiseki.png”, “seiseki_down.png”, “seiseki.png”, this, menu_selector(HelloWorld::doSeiseki));
item->autorelease();
CCMenu *menu_miss=CCMenu::create(item,NULL);
menu_miss->setPosition(ccp(size.width/2,40) ) ;
this->addChild(menu_miss,20);

・CCLabelTTF の文字列設定 setString(const char*)
cocos2d for iPhone
CCLabelTTF *limiTime;
NSString *limitTimeString=[NSString stringWithFormat:@”%02d”,allCount-tcount];

limitTime=[CCLabelTTF labelWithString:limitTimeString
fontName:@”Helvetica”
fontSize:32 ];
limitTime.position =ccp(140,300);
limitTime.color =(ccc3(200, 0, 0));
[limitTime setString:limitTimeString];

ココス2d−x
const char* string=CCString::createWithFormat(“%d”,allCount-tcount)->getCString();
CCLabelTTF *limiTime;
limiTime->initWithString(climitTimeString, “Helvetica”, 32);
limiTime->autorelease() ;
limiTime->setString(string);

・定期スケジュール(1/30、1/60)
cocos2d for iPhone
ヘッダーファイルには記載なしか必要に応じて記載する
init()内
[self scheduleUpdate];

-(void)update:(ccTime)dt{
//
}

ココス2d−x
ヘッダーファイル
virtual void update(float delta);

C++ファイル
init()に記載
this->scheduleUpdate();

void HelloWorld::update(float delta){
//
}


・CCArrayにCCSpriteオブジェクトを追加して、CCSpriteにコピーするとき

cocos2d for iPhone
CCArray *array;(初期化、配列数、オブジェクトの追加は省略してます。)
CCSprite *sprite=[array objectAtIndex:i];

ココス2d−x
CCArray *array;(初期化、配列数、オブジェクトの追加は省略してます。)
   CCSprite *sprite=new CCSprite();
sprite=(CCSprite*)array->objectAtIndex(i);
sprite->autorelease();

・表示可否ビジブル
TRUEで表示、FALSEで見えない状態にします。
cocos2d for iPhone
sprite.visible=TRUE;

ココス2d−x
sprite->setVisible(true);

・タップイベント シングルタップ
cocos2d for iPhone
宣言.h特に記入なし
シングルタップなので、init()内に記載なし。

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
return YES;
}

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
CGPoint locationInView=[touch locationInView:[touch view]];
CGPoint location=[[CCDirector sharedDirector]convertToGL:locationInView];
//必要に応じてタップの処理を記入
}


ココス2d−x
宣言.h バーチャル仮想関数で宣言します。
virtual bool ccTouchBegan(CCTouch *pTouch,CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch,CCEvent *pEvent);

init()内に
setTouchEnabled(true);
setTouchMode(kCCTouchesOneByOne);

関数
bool HelloWorld::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent){
return true;
}

void HelloWorld::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent){
CCDirector *pDirector=CCDirector::sharedDirector();
CCPoint touchPoint=pDirector->convertToGL(pTouch->getLocationInView());
//必要に応じてタップの処理を記入

}

31画像
ドラゴンボールSCultures 造形天下一武道会3 其ノ一 全2種 人造人間18号・チチ
在庫あり
店舗名:電脳萬屋弐号館 楽天市場店
32画像
■予約■【フィギュア】モモ・ベリア・デビルーク (2013年11月発売)
在庫無し
店舗名:Jam
33画像
ROBOT魂<SIDE FFN> ファフナー・マークザイン
在庫あり
店舗名:トイズボックス楽天市場店
34画像
トランスフォーマープライム AM-03 クリフジャンパー【キャラクターセール☆トランスフォーマー】
在庫あり
店舗名:トイセルタウン
35画像
【再生産】超像可動 ジョジョの奇妙な冒険 第三部 空条承太郎・セカンド(荒木飛呂彦指定カラー) 【税込】 メディコス [ジョジョ3クウジョウジョウタロウ2nd]【返品種別B】【送料無料】
在庫あり
店舗名:Joshin web 家電とPCの大型専門店
36画像
トランスフォーマープライムAM-11 アーシー【キャラクターセール☆トランスフォーマー】
在庫あり
店舗名:トイセルタウン

関連記事

「スポンサーリンク」


ツイートツイート
カテゴリー: Androidアンドロイド携帯アプリ, iPhoneアイフォンアプリ開発 タグ: , , パーマリンク