2013年1月24日木曜日

【cocos2d】パーティクルの位置(position)をソースコード上で指定した位置に表示させるにはsourcePositionx, sourcePositionYを0にする

まだ詳しく調べてはないのですが「Particle Designer」でsourcePositionx, sourcePositionYを指定した場合は、その指定した座標に強制的に表示されるようです。
その場合は、以下のようにしても画面中央にはきません。
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCParticleSystem *ps = [CCParticleSystemQuad particleWithFile:@"fire.plist"];
ps.sourcePosition = ccp(winSize.width/2,winSize.height/2);  //こうやってもダメぽ...
[self addChild:ps];

解決策

少し力技というか強引なんですが、ソースコード上で指定した位置に表示させるには、作成したパーティクルのplistを弄るのが早いと思われます。



とりあえず画像のように、0を指定してあげると、sourcePositionプロパティの指定どおりの位置に表示されました。

終わり

実際のところ、Particle Designerでパーティクルを作成する際にsourcePositionx, sourcePositionYに0を指定してあげればいいだけの話なんですが・・・(笑)
とりあえずParticle Designerとパーティクルの仕様について学んだのでメモということで書きました。

参考記事

cocos2dでパーティクルを表示 - iPhoneアプリ練習帳

0 件のコメント:

コメントを投稿