2017-10-26 8 views
1

Spriteの子であるcocos2dにDrawNodeを使用しようとしています。 Spriteの位置と回転は、子供の予想通りにDrawNodeの位置と回転に影響します。Cocos2dのシーンに相対位置を設定

私はDrawNodeの位置と回転をその親(Sprite)の影響を受けないように設定しようとしています。

(それが働いていた場合)私は完璧に動作することになるself->getScene()->addChild(self->drawNode)self->addChild(self->drawNode)を変更しようとしましたが、私はself->getScene()戻りnullptrをというエラーを受け取ります。そして、これはまだどのシーンにも追加されていないために起こります。

DrawNodeをシーン/ワールドに相対的な位置に配置するにはどうすればよいですか?例えば

this->drawNode()->drawLine(Point::ZERO, Point(0, 100), Color4F::RED) ドローはまっすぐスプライトから行くのラインです。

私は、ウィンドウの右下から直線をまっすぐに描くことを目指しています。

+0

ここで、スプライトをシーンに追加しますか?これはシーンに* drawnode *を追加する場所ではないでしょうか? – Rabbid76

+0

@ Rabbid76ええ、それは可能性があると理解していますが、私はコードをきれいに保ち、意味があればシーンクラスを最小限に抑えようとしています。プレイヤーのスプライトの子として 'DrawNode'を保つことができればもっと良いでしょう – Acidic

+0

@ Rabbid76素敵な編集をしてくれてありがとうございました。 – Acidic

答えて

1

スプライトを追加する前にシーンにアクセスしたい場合は、現在実行中のシーンに常にディレクタからアクセスできます。

auto scene = Director::getInstance()->getRunningScene(); 
scene->addChild(draw_node); 
+0

私は単純な答えがあったことを知って、ありがとう! – Acidic

関連する問題