私はスプライトを持っています。基本的には核 (親) と電子 (子) です。電子を原子核の軌道に乗せる方法を見つけようとしています。アンカーポイントの移動に関するいくつかの投稿をあちこちで見つけましたが、それは明らかにスプライト自体ではなく、スプライトのテクスチャに関連しています。
これは、親スプライトの現在の init メソッドです。
self = [super init];
if (self) {
CCSprite *orbitAnchor = [CCSprite new];
[self addChild:orbitAnchor];
orbitAnchor.position = ccp(32,32);
CCSprite *orbiter = [CCSprite spriteWithFile:@"line.png" rect:CGRectMake(0, 0, 8, 8)];
[orbitAnchor addChild:orbiter];
orbiter.position = ccp(40,40);
CCAction *orbitAction = [CCRepeatForever actionWithAction:[CCRotateTo actionWithDuration:1 angle:720]];
[orbitAnchor runAction:orbitAction];
[self initAnimations];
}
return self;
ただし、これらの数値はすべて完全に恣意的なものです。そこに貼り付けて、最もよく見えるものを取得しました。私が望むことを行うためのよりプログラム的な方法があると確信しています。
基本的に、子の軸点を親の中心に設定し、その点を中心に回転させる方法を探しています。CCRotateなどを使えば比較的簡単にできるように思えますが、子のアンカーポイントを動かすために何を探せばいいのか抜けていると思います。提案/他の投稿はありますか?
ありがとう