皆さん、こんにちは、私はこれを正しく動作させるためにいくつかの問題を抱えています。私はcharacter
と呼ばれるMCオブジェクトを持っていて、もう一つは "ポイント"と呼ばれています。私はplanetContainer
と呼ばれるコンテナオブジェクトを持っています。planetContainer
にcharacter
を追加します。文字は、コンテナにも追加されたplanets
の周りを回転しています。私が抱えている主な問題は、ポイントのパワーアップがアクティブになってポイントが他の惑星から移動し、character
中心の位置に移動することです。完璧に機能していましたが、コードを更新してplanetContainer
のPoints
を削除して、planets
に添付してください。私はlocalToGlobalを使わなければならないかもしれないが、あまり確かではないかもしれないことは分かっている。ここでオブジェクトを別のオブジェクトの位置に移動
はどのように私のセットアップ文字:
private function newCounterClockWise():void
{
planetContainer.addChild(character);
character.rotation = (Math.atan2(character.y - planetHit.y, character.x - planetHit.x) * 180/Math.PI);
}
ポイントが惑星に追加する方法:
private function addPoints():void
{
points = new mcPoints();
var planetPosition:Point = planetContainer.parent.localToGlobal(new Point(0, 0));
points.x = planetPosition.x;
points.y = planetPosition.y;
outerPlanets.addChild(points);
aPointsArray.push(points);
}
今これは文字に移動しポイントを扱う主な機能であります正しく動作していません。ポイントは動くが、スクリーンから離れるか、ゲームをちょっと微調整して別のことをする。また、「magnetHandlerは();私のenterFrameイベントである:
private function magnetHandler():void
{
for (var i:int = 0; i < aPointsArray.length; i++)
{
var currentPoints:mcPoints = aPointsArray[i];
var characterPosition:Point = planetContainer.parent.globalToLocal(new Point(character.x, character.y));
if (currentPoints.hitTestObject(playScreen.mcPointsHit))
{
trace("POINTS MID STAGE");
currentPoints.x -= (currentPoints.x - characterPosition.x);
currentPoints.y -= (currentPoints.y - characterPosition.y);
//currentPoints.x = character.x;
//currentPoints.y = character.y;
//TweenMax.to(currentPoints, 0.5, {x:characterGlobalPosition.x, y:characterGlobalPosition.y , ease:Power1.easeInOut });
}
}
}
誰もが私が間違っているのかを見ることができます
さて、私はより良い今多くのことを理解して(ロケットなどに煙のように)の資産をカプセル化していますしない限り、グローバル座標空間ですべてを持っているのがベストだ、と言っています。それをクリアしていただきありがとうございます。あなたは "おそらくそのローカルスペースに変換したい"と変換すると言った最後の部分については少し混乱しているあなたの方法は素晴らしいとポイントはついにキャラクターに向かって移動するキャラクターが別の惑星に行くとより多くのポイントが来た後です私はこのエラー "nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。"この行については、 "var localCharacterPoint:Point = currentPoints.parent.globalToLocal(globalCharacterPoint);"何かご意見は? – Nathan
Wait nvm何が起こっているのか考え出した。ポイントを破壊していたゲームをセットアップしていたときに、私が完全に忘れていた機能を持っていた – Nathan
まだあなたを混乱させていた部分を解決しようとする答えを編集しました。これがあなたの質問に答えると言うなら、それを受け入れられた答えとしてマークすることを検討してください。まだ何かが明確でない場合は、コメントを残してください。私は明確にしようとします。 – BadFeelingAboutThis