Игровое решение ActionScript 3 - PullRequest
       0

Игровое решение ActionScript 3

1 голос
/ 27 октября 2011

Я играю в пазл в as3, и я уже готов. я разбил растровое изображение на 8 частей, преобразовал их в mc и могу перемещать их с помощью мыши.

Я тоже создал пазл, где кусочки головоломки сбрасываются. Теперь, как я могу сделать решение головоломки, например, когда части головоломки находятся в правильном порядке, тогда должно отображаться все растровое изображение.

спасибо за внимание

1 Ответ

1 голос
/ 27 октября 2011

Почему вы не сохраняете позиции mcs в массиве точек?

Таким образом, где бы ни были 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; 
 }

После того, как вы разбили растровые изображения и преобразовали их в MovieClips, я предполагаю, что на этом этапе у вас есть решение головоломки.

Если да, то вам нужно сохранить текущие позиции фигур, прежде чем они смогут переместиться.

Практически это означает, что не нужно добавлять прослушиватель событий до того, как вы фактически сохраните позиции.

 //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...
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...