0

キャラクターが歩きながらmoveclips(私はログと呼んでいます)の跡を残すゲームを作成しています。それが目的に達した後、キャラクターは戻って、彼が残したすべてのムービークリップを拾う必要があります(必ずしも彼が残した順序である必要はありません)。私のやり方では、それは1つしか拾わず、すべてを拾うことができるようにするために何をすべきか理解できません。ログを生成するための私のコードは次のとおりです。

    this["log"+counter] = new _Log();
    addChild(this["log"+counter]);
    this["log"+counter] .x = char.x;
    this["log"+counter] .y = char.y;
    logCounter=0;
    counter ++;

そして、これが私がそれらを拾う方法です:

    if(char.hitTestPoint(this["log"+(counter-1)] .x,this["log"+(counter-1)] .y, true)){
        this["log"+(counter-1)] .visible = false;
        this["log"+(counter-1)] .active = false;
    }

そして、私が持っていたアイデアは、hitTestPoint関数を使用しながら、1から現在のカウンター値までのすべての数値を一度にテストできるかどうかということでした。私がそれをする方法はありますか?そうでない場合は、ムービークリップのトレイルを取得できるようにするために、他にどのような方法を提案しますか?

どうもありがとうございます

4

1 に答える 1

2

コードによると、必要なすべてのログについてループ内の衝突をチェックする必要があります。

for (var i:int=0; i<counter; i++)
    {
        if(char.hitTestPoint(this["log"+i].x,this["log"+i].y, true)){
            this["log"+i].visible = false;
            this["log"+i].active = false;
        }
    }
于 2013-01-15T20:01:22.793 に答える