English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Это делает наш код более объектно-ориентированным. Так, в строке 6 вы можете видеть, что создается ссылка на клип сетки grid. Всякий раз, когда мы хотим сделать что-либо с сеткой, мы не пишем _root.grid—мы пишем game.path. Ссылка game.path будет интерпретирована как _root.grid, поскольку является ссылкой, которую мы назначили выше в строке 6. Если на некотором этапе в процессе разработки игры нам потребовалось бы изменить имя или положение клипа сетки grid, то все, что нам нужно было бы сделать для обновления кода, было бы изменение ссылки game.path для указания нового положения сетки grid. Если мы не используем ссылку game.path, то изменение имени или пути к сетке становится серьезным предприятием, поскольку нам приходится обновлять большое количество кода. Последняя строка вышеприведенного кода ActionScript присваивает переменную с именем numberOfTypes в объекте game. Эта переменная хранит количество типов плиток, которые определены для этой игры. Поскольку мы имеем восемь кадров в клипе плитки tile, и каждая плитка отличается, то мы присваиваем numberOfTypes значение 8. Далее определяется функция buildGrid(). 1 function buildGrid(){ 2 for (var j=1;j<=game.rows;++j){ 3 for (var i=1;i<=game.columns;++i){ 4 var name ="cell"+i+"_"+j; 5 var x =(i-1)*game.spacing; 6 var y =(j-1)*game.spacing; 7 var type =1; 8 game.path.attachMovie("cell",name,++game.depth); 9 game.path [name ]._x =x; 10 game.path [name ]._y =y; 11 game [name ] =={x:i,y:j,name:name,type:type, .clip:game.path [name ]}; 12 } 13 } 14 } Эта функция использует вложенные циклы, как это было описано ранее в этом разделе. Внешний цикл проходит по строкам. В каждой итерации внешнего цикла внутренний цикл проходит по каждой колонке. Каждой плитке (которую мы называем здесь cell) дается уникальное имя с использованием строки и колонки ячейки как части имени ячейки. Например, если ячейка принадлежит к колонке 8 и строке 6, имя будет cell8_6
Hosted by uCoz