CCSprite *sprite = [CCSprite spriteWithFile:@"image.png"];//コールバックを付ける任意のオブジェクト
id doSomething = [CCCallFuncN actionWithTarget:self selector:@selector(doSomething:)];
[sprite runAction: doSomething];
-(void) doSomething:(id)sender
{
}
「CCCallFuncN」の他に「CCCallFunc」「CCCallFuncND」といったタイプもあるらしい。
2011年2月25日金曜日
2011年2月16日水曜日
GDataXMLの使用設定
数あるXMLパーサーのうちの一つである「GDataXML」を使用する際のXCodeの設定。
1)ダウンロードしたGDataXMLのzipファイルを解凍後、中に入っているフォルダ「Source\XMLSupport」 の中から「GDataXMLNode.h」「GDataXMLNode.m」の二つのファイルをプロジェクトに追加する。
2)XCodeのプロジェクト設定にある「All Configurations」がチェックされているか確認する。
3)検索パスの「ヘッダ検索パス」に「/usr/include/libxml2」を追加する。
4)アプリケーションターゲットの情報を見るを選択、もしくはCMD+Iキーで詳細を表示。「一般」タブの「リンク済みライブラリ」の「+」をクリックして「libxml2.dylib」を選択してプロジェクトに追加する。
以上を正しく行わないとエラーが出てCocos2DではGDataXMLやKissXMLが使用出来ないので注意しなければならない。
※プロジェクト設定の「他のリンカフラグ」の項目に「-lxml2」を追加する必要はないので注意する。
1)ダウンロードしたGDataXMLのzipファイルを解凍後、中に入っているフォルダ「Source\XMLSupport」 の中から「GDataXMLNode.h」「GDataXMLNode.m」の二つのファイルをプロジェクトに追加する。
2)XCodeのプロジェクト設定にある「All Configurations」がチェックされているか確認する。
3)検索パスの「ヘッダ検索パス」に「/usr/include/libxml2」を追加する。
4)アプリケーションターゲットの情報を見るを選択、もしくはCMD+Iキーで詳細を表示。「一般」タブの「リンク済みライブラリ」の「+」をクリックして「libxml2.dylib」を選択してプロジェクトに追加する。
以上を正しく行わないとエラーが出てCocos2DではGDataXMLやKissXMLが使用出来ないので注意しなければならない。
※プロジェクト設定の「他のリンカフラグ」の項目に「-lxml2」を追加する必要はないので注意する。
2011年2月15日火曜日
サウンドを再生する
以下「softanのブログ(http://blog.livedoor.jp/softan/)」より引用
以前、iPhone SDKで効果音を鳴らすで、AudioToolboxを使い、5秒以内の効果音を鳴らす方法を紹介しましたが、今回は、cocos2d-iPhoneで、もっと長い音楽ファイルも流せる方法を紹介します。
cocos2d-iPhoneでは、サウンドエンジンも組み込まれている為、非常に容易に、mp3を含む様々なファイル形式(wav/caf/aiffもO.K.)の音楽を流す事ができます。
◆ヘッダファイルの読み込み
#import "SimpleAudioEngine.h"
◆音楽ファイルのプリロード
[[SimpleAudioEngine sharedEngine] preloadEffect:@"音楽ファイル名"];
※ 音楽ファイルを一番最初に読み込むにはそれなりに時間がかかるため、事前にプリロードしておいた望ましいです。
cocos2d-iPhoneでは、init内に記述をしておけば良さそうです。
◆音楽を流す
[[SimpleAudioEngine sharedEngine] playEffect:@"音楽ファイル名"];
◆かかっていた音楽を止める
ALuint 変数名 = [[SimpleAudioEngine sharedEngine] playEffect:@"音楽ファイル名"];
[[SimpleAudioEngine sharedEngine] stopEffect:変数名];
◆バックグラウンド用の音楽ファイルをプリロードする
[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"音楽ファイル名"];
◆バックグラウンドで音楽を鳴らす
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"音楽ファイル名"];
◆バックグラウンドの音楽を止める
[[SimpleAudioEngine sharedEngine] stopBackgroundMusic];
Cocos2Dでのタッチ操作の検出
CCLayerクラスのプロパティ「isTouchEnabled」に「YES」をセットする。
例:「self.isTouchEnabled = YES;」
これにより以下のコールバックメソッドが呼ばれるようになる。(※コードに間違いがあるかもしれません)
– (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
– (BOOL)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
– (BOOL)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
– (BOOL)ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
または
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
または
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
return TRUE; }
など
背景色の変更の仕方
Cocos2Dのデフォルトでは背景色はブラックになっている。この背景色をホワイト等の別のカラーに変更する場合は以下のように「HelloWorldScene.h」内の「@interface HelloWorld : CCLayer」から「@interface HelloWorld : CCColorLayer」と変更する。
「HelloWorldScene.m」内のイニシャライズ部分も「if( (self=[super initWithColor:ccc4(255,255,255,255)] )) {」のように変更する。「ccc4(255,255,255,255)」の部分を変更すれば背景色を変えることが出来る。
Sprite(画像)サイズの参照の仕方
CCSprite *player = [CCSprite spriteWithFile:@"Player.png"];
player.contentSize.width
「contentSize.width」や「contentSize.height」で参照可能。
Cocos2D 画面サイズ参照の仕方
CGSize winSize = [[CCDirector sharedDirector] winSize];
「幅」を参照するときは「winSize.width」で、「高さ」を参照するときは「winSize.height」を使用する。
登録:
投稿 (Atom)