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

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



Откройте файл grid_click.fla в папке Chapter07. Этот файл является модифицированной версией grid.fla. С помощью добавленного в этот файл кода ActionScript вы, нажимая на ячейку, изменяете ее тип. Если вы нажмете на одну ячейку достаточное число раз, она вернется к первоначальному типу. Я использовал этот прием просто для того, чтобы показать, как определить - на какой ячейке был произведен клик, когда была нажата кнопка мыши. Ниже представлен добавленный код ActionScript: 1 function gameClicked(mx,my){ 2 var x =Math.ceil(mx/game.spacing); 3 var y =math.ceil(my/game.spacing); 4 var cell ="cell"+x+"_"+y; 5 var ob =game [cell ]; 6 if (ob.type<game.numberOfTypes){ 7 ++ob.type; 8 }else { 9 ob.type =1; 10 } 11 ob.clip.tile.gotoAndStop(ob.type); 12 } 13 _root.onMouseDown =function(){ 14 var mx =_xmouse; 15 var my =_ymouse; 16 if (game.path.hitTest(mx,my)){ 17 gameClicked(game.path._xmouse,game.path._ymouse); 18 } 19 }; Взгляните сначала на строки 13-19, событие onMouseDown. Когда кнопка мыши нажата, координаты курсора мыши сохраняются. Если эти координаты находятся над клипом grid (представленном ссылкой в game.path), мы вызываем функцию gameClicked() выше, передавая координаты мыши в gameClicked(). В строках 2 и 3 мы используем уловку, описанную в этом разделе, для определения, на какой ячейке произошел клик. В следующей строке мы формируем имя объекта, который содержит информацию об этой ячейке, и затем в строке 5 мы создаем ссылку на этот объект с именем ob. Строки 6-10 проверяют, является ли переменная ob.type меньше 8 и если да, мы инкрементируем ее; в противном случае мы устанавливаем ее в 1. Наконец, в строке 11 мы изменяем кадр на тот, который соответствует установленному типу плитки. Создайте SWF из этого файла и протестируйте его. Понажимайте ячейки для изменения типов ячеек. Типы 2-8 соответствуют стенам. Вы можете легко создать уникальную конфигурацию поля
Hosted by uCoz