Я новичок в ActionScript. То, что я пытаюсь сделать, это симулировать транспортный поток возле перекрестка с 2 полосами, следуя правилу Вольфрама 184. Для начала я пытаюсь создать сетку (8x8, пересечение которой находится между двумя средними рядами и двумя средними столбцы, такие как знак плюс), чьи ячейки имеют следующие атрибуты:
color = white;
car = false;
when clicked:
color = red;
car = true (a car is present);
Таким образом, после того, как пользователь щелкнет ячейки, чтобы сначала расположить автомобили, и нажмет кнопку запуска, имитация начнется.
Вот мой код (извините за неправильное форматирование):
class Main
{
private var parent:MovieClip;
public static function main(mc:MovieClip)
{
var app = new Main(mc);
}
public function Main(mc:MovieClip)
{
this.parent = mc;
//grid settings
var Cell:MovieClip = mc.createEmptyMovieClip("cell", mc.getNextHighestDepth());
var x:Number = 0;
var y:Number = 0;
var color:Number = 0xffffff;
var car:Boolean = false;
for (y = 0; y < 3 * Stage.height / 8; y += Stage.height / 8)
{
for (x = 3*Stage.width/8; x < 5*Stage.width/8; x+=Stage.width/8)
{
UI.drawRect(Cell, x, y, (Stage.width / 8) - 5, (Stage.height / 8) - 5, color, 100);
}
}
for (y = 3*Stage.height/8; y < 5 * Stage.height / 8; y += Stage.height / 8)
{
for (x = 0; x < Stage.width; x+=Stage.width/8)
{
UI.drawRect(Cell, x, y, (Stage.width / 8)-5, (Stage.height / 8)-5, color, 100);
}
}
for (y = 5*Stage.height/8; y < Stage.height; y += Stage.height / 8)
{
for (x = 3*Stage.width/8; x < 5*Stage.width/8; x+=Stage.width/8)
{
UI.drawRect(Cell, x, y, (Stage.width / 8)-5, (Stage.height / 8)-5, color, 100);
}
}
Cell.onMouseDown()
{
Cell.color = UI.RED;
Cell.car = true;
}
}
}
Я знаю, что здесь довольно много проблем. Прежде всего, цвет ячейки не меняется при нажатии мыши. Нужно ли делать клип для каждой ячейки в циклах? Я думаю, что было бы легче создать сетку объектов с заданными атрибутами, но я не знаю, как это сделать. Буду очень признателен, если кто-нибудь поможет мне.