Как передать ссылку на main?
Посоветовали вот такой код (или псевдокод):
класс клетка расширенный спрайт публичные переменные целые X,Y,статус; переменные основа ОС; публичная функция клетка(основа ос=null)// конструктор класса вызывается всегда при создании обекта класса и получает ссылку на мейн, чтобы потом по этой ссылке обращаться к мейну и иметь доступ ко всем публичным переменным мейна включая другие клетки и что угодно { this.ОС=ос; } класс основа расширенный мувиклип публичные переменные массив клетки[10][10]; int i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) { клетки[i][j]=new клетка(this);//теперь каждая клетка хранить ссылку в себе на мейн } } function HIT(int x,int y) { если (клетки[x][y].статус==1) иначе..... } Все что касается этой ссылки на main мне не понятно, вплоть до типа переменной ОС. То есть не могу перевести в код. Пишу игру по типу "Морской бой", изначальный вопрос был в том как нарисовать поле клеток и определять по какой был сделан выстрел. |
какие-то извращения. Проще всего сделать спрайт расчерченный и назначить на него слушателя. Дальше при нажатии просто получаем координаты и смотрим соответствие на поле (чисто математически получить длину/ширину спрайта и поделить на участки)
|
Эх... обработать бы этот тэгами AS3 и без перевода на великий и могучий Русский язык))
И зачем передавать ссылку на Main его ребенку? Дети не должны знать о своих родителях |
даже ещё проще, взять один квадрат, кодом разместить его копии в нужном положении и назначить слушателя событий сцены, дальше по клику узнаём(e.target) на какой квадрат нажали.
Добавлено через 1 минуту Цитата:
|
Вот! Нашел! Когда то давным давно я делал, что то похожее и у меня было так:
Код AS3:
|
Псевдокод написан не в синтаксисе AS3. Человек, который его писал, наверняка и не знаком с технологией флэш и языком AS3. Иначе он бы знал, что все дисплейные объекты итак имеют ссылку на мейн, которая всегда доступна через свойство root (ну, не всегда, а когда дисплейный объект находится в Списке Отображения. Но, я так понимаю, клетки наследующие Спрайт создавались именно для того чтобы отображаться). Кроме того, из псевдокода видно, что автор собирается помещать логику всей игры в каждую отдельную клеточку, а через мейн лазить в гости к соседям. Я бы удалил это руководство с диска, не забыв зажать Shift.
Добавлено через 8 минут Цитата:
Код AS3:
|
Цитата:
|
Цитата:
Код AS3:
|
Благодарю neonoviiwolf, mihael_p и Wolsh, стало намного понятнее!
|
Цитата:
|
Часовой пояс GMT +4, время: 23:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.