私はas3のパズルゲームを作成しています。私はすでに完了しています。 私はビットマップを8つの部分に分割し、それらをmcのものに変換し、マウスでそれらを動かすことができました。ゲームソリューションActionScript 3
私はパズルピースをドロップしたところでパズルボードを作った。 今、どのようにパズルの解を作ることができますか?パズルのピースが正しい順序になっているときのように、ビットマップ全体が表示されます。
あなたのご注意をお寄せください
私はas3のパズルゲームを作成しています。私はすでに完了しています。 私はビットマップを8つの部分に分割し、それらをmcのものに変換し、マウスでそれらを動かすことができました。ゲームソリューションActionScript 3
私はパズルピースをドロップしたところでパズルボードを作った。 今、どのようにパズルの解を作ることができますか?パズルのピースが正しい順序になっているときのように、ビットマップ全体が表示されます。
あなたのご注意をお寄せください
ポイントの配列にmcsの位置を保存しないのはなぜですか?
この方法では、ボード上のマスがどこにあっても、それらをトゥイーンして元の位置に戻すのは簡単です。
var positions:Array = [ new Point(mc1.x , mc1.y), .... , new Point(mcn.x , mc1.n), ];
//assuming that this code is run from
// the mcs container and that this container
// doesn't have any other children
for(var i:int ; i < this.numChildren ; ++i)
{
//provided that the MCs are on
//the right order in the Display List
var mc:MovieClip = this.getChildAt(i) as MovieClip;
//no tween here but you get the idea...
mc.x = positions[i].x;
mc.y = positions[i].y;
}
ビットマップを分割してムービークリップに変換した後、その段階でパズルの解決策があるとします。
はいの場合は、移動する前に現在の位置を保存する必要があります。
実際には、実際にポジションを保存する前にイベントリスナーを追加しないことを意味します。
//instantiate the Array
var positions:Array = [];
for(var i:int ; i < this.numChildren; ++i)
{
// add the mcs positions
var positions[i] = new Point (this.getChildAt(i).x , this.getChildAt(i).y);
//you could add your Mouse Event listener here...
}
私はideeaを持っているが、私はコードでそれを置く方法を知らない: 私は数すべてのMCに、すべてのグリッド部分に割り当てることができます。ですから、mc.1がgridpart.1上にあれば、mcを非表示にして、全体のビットマップをステージに追加します。 誰かがideeaを持っていますどうすればas3でこれを作ることができますか? ありがとうございました 私の悪い英語についてはごめんなさい – CMS
誰も私をここで助けることができますか? – CMS