В продолжение темы
Создав свой условный наборной паркетный пол решил его постоянно двигать, как конвейерную ленту. Дописал в класс исходной паркетины
FonImg функцию проверки расположения и изменения её положения если вылезет далеко за окно отображения
Код AS3:
package
{
import flash.display.*;
import flash.events.Event;
public class FonImg extends MovieClip
{
public function FonImg()
{
graphics.lineStyle(5, 0x000099);
graphics.beginFill(0xff0000);
graphics.drawRoundRect (0, 0, 200, 200, 40, 40);
graphics.endFill();
addEventListener(Event.ENTER_FRAME, Step_fonBground);
// вызываю функцию которая проверяет не ушёл ли мой квадрат за -50 пиксел левее окна отображения
// и если ушёл то возвратить его в позицию 500 по X координате
}
function Step_fonBground(event:Event):void
{
if (this.parent.x<= -50)
{
this.parent.x = 500;
}
}
}
}
Когда писал этот пост понял, что для того чтобы класс наборного пола
FonParket не унаследовал функцию проверки расположения и изменения координаты Х паркетины
его нужно сделать не дочерним от
FonImg, поэтому код изменил (а вот результат нет
)
Код AS3:
package
{
import flash.display.MovieClip;
public class FonParket extends MovieClip
{
var fona:Array = new Array();
public function FonParket()
{
for (var i:uint=0; i<3; i++)
{
var duplikat_FonImg:FonImg = new FonImg();
fona[i] = duplikat_FonImg;
fona[i].x = i * 200 + 100; // новый экземпляр класса FonImg установленный на 200 пиксел правее предыдущего
addChild(this.fona[i]); // таким образом набирая паркет из отдельных плиток
}
}
}
}
И в корневом классе дописал саму функцию постоянного сдвига всего паркетного пола надеясь, что каждая отдельная паркетина достигнув координаты по Х -50 перескочит вправо на Х 500.
Код AS3:
package
{
import flash.display.*;
import flash.events.Event;
public class MainFon extends MovieClip
{
var bazFon:FonParket = new FonParket();
public function MainFon()
{
addChild(bazFon);
addEventListener(Event.ENTER_FRAME, Zsuv_fona);
}
function Zsuv_fona(event:Event):void
{
bazFon.x = bazFon.x - 1; // каждый раз сдвигаю весь класс FonParket
// состоящий из отдельных экземпляров класса FonImg на 1 пиксель
// и надеюсь что когда bazFon.x станет -50, то первая плитка экземпляра класса FonImg
// поменяет свою позицию на 500 по Х
}
}
}
Но снова вышла загвоздка, на новую позицию по Х перепрыгивает не каждый отдельный экземпляр паркетины
FonImg, а весь класс наборного пола
FonParket.
Помогите разобраться пожалуйста.