![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Что то не выходит, вот как я делаю:
package { public class Main extends MovieClip { public function Main() { createGoblin(); } private function createGoblin(x:Number = 0, y:Number = 0):Gob //Класс Врага { var newGoblin:Gob = new Gob(); newGoblin.x = x; newGoblin.y = y; enemys.push(newGoblin); return newGoblin; } } } TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at Gob() at Main/createGoblin() at Main() И куда addChild(createGoblin); пхнуть? Последний раз редактировалось Tetraeon; 12.05.2012 в 16:53. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
package { public class Main extends MovieClip { private var enemys:Array public function Main() { enemys = new Array(); stage.addChild(createGoblin()); } private function createGoblin(x:Number = 0, y:Number = 0):Gob //Класс Врага { var newGoblin:Gob = new Gob(); newGoblin.x = x; newGoblin.y = y; enemys.push(newGoblin); return newGoblin; } } }
__________________
hauts.ru |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Что то все еще не так
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Знаете, я посмотрел исходник. Лучше бы вам не начинать программировать все и сразу, а сначала разрисовать архитектуру вашей игры на бумаге. Чтобы вынести вашего персонажа в отдельный класс, его врагов - в другой класс. Карту - тоже классом. Ну и управление игрой - основным классом, например.
__________________
hauts.ru |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
По сути в классы можно писать только какие то "слепые" действия, т.е. проверку на пересечение или дистанцию точек там нельзя проверить? Понимаю вашу мысль.. лучше сейчас начать все упорядочивать пока не поздно)
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Нет, почему же. Я имею в виду отделить все функции игры по их сути. Игроки (персонаж и враги) - отдельными классами с методами, например, testAttack, die, goToPoint и т.п.; логику игры тоже в отдельный класс, в котором враги будут создаваться и управляться. Это намного проще, чем городить огромный код, который у вас будет разрастаться все больше и больше.
Прочитайте все статьи на странице http://coolisee.com/page/3/ начиная с управления поведениями, возможно вам станет более понятна моя мысль ![]()
__________________
hauts.ru |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Цитата:
А можно вызвать функцию класса в основном коде но передать какие то параметры: к примеру убил ли я врага находясь слева от него или с другой стороны? Было бы здорово если бы можно было передавать координаты моего героя в класс Врага чтобы Main не захламлять. Может кто нибудь пробовал создавать статическую переменную для разных осей чтобы передавать эти цифры в класс? Добавлено через 18 часов 27 минут Избавился от массивов путем запихивания координат героя в статическую переменную типа Number в класс врага и о чудо любые параметры в этом классе применяются для каждого экземпляра не зависимо. Чувствую Main вычищу подчистую) Последний раз редактировалось Tetraeon; 13.05.2012 в 01:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:07. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|