Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.05.2012, 16:51
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 21  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Что то не выходит, вот как я делаю:
Код AS3:
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.
Старый 12.05.2012, 16:58
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 22  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS3:
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

Старый 12.05.2012, 17:08
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 23  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Что то все еще не так
Вложения
Тип файла: rar test2.rar (597.6 Кб, 17 просмотров)

Старый 12.05.2012, 17:27
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 24  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Знаете, я посмотрел исходник. Лучше бы вам не начинать программировать все и сразу, а сначала разрисовать архитектуру вашей игры на бумаге. Чтобы вынести вашего персонажа в отдельный класс, его врагов - в другой класс. Карту - тоже классом. Ну и управление игрой - основным классом, например.
__________________
hauts.ru

Старый 12.05.2012, 17:38
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 25  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
По сути в классы можно писать только какие то "слепые" действия, т.е. проверку на пересечение или дистанцию точек там нельзя проверить? Понимаю вашу мысль.. лучше сейчас начать все упорядочивать пока не поздно)

Старый 12.05.2012, 17:48
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 26  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Нет, почему же. Я имею в виду отделить все функции игры по их сути. Игроки (персонаж и враги) - отдельными классами с методами, например, testAttack, die, goToPoint и т.п.; логику игры тоже в отдельный класс, в котором враги будут создаваться и управляться. Это намного проще, чем городить огромный код, который у вас будет разрастаться все больше и больше.

Прочитайте все статьи на странице http://coolisee.com/page/3/ начиная с управления поведениями, возможно вам станет более понятна моя мысль
__________________
hauts.ru

Старый 12.05.2012, 18:17
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 27  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Цитата:
Сообщение от Hauts Посмотреть сообщение
Нет, почему же. Я имею в виду отделить все функции игры по их сути. Игроки (персонаж и враги) - отдельными классами с методами, например, testAttack, die, goToPoint и т.п.; логику игры тоже в отдельный класс, в котором враги будут создаваться и управляться. Это намного проще, чем городить огромный код, который у вас будет разрастаться все больше и больше.

Прочитайте все статьи на странице http://coolisee.com/page/3/ начиная с управления поведениями, возможно вам станет более понятна моя мысль
Кажется я понял.. к примеру: все в игре когда нибудь умрут и отдельный класс для этого просто не заменимая штука у всех буду одни и те же действия... т.е. никаких + проигрывание ролика смерти который можно для всех персонажей поместить под 1й цифрой фрейма)) Да тут есть над чем поразмыслить. Спасибо.
А можно вызвать функцию класса в основном коде но передать какие то параметры: к примеру убил ли я врага находясь слева от него или с другой стороны?
Было бы здорово если бы можно было передавать координаты моего героя в класс Врага чтобы Main не захламлять.
Может кто нибудь пробовал создавать статическую переменную для разных осей чтобы передавать эти цифры в класс?

Добавлено через 18 часов 27 минут
Избавился от массивов путем запихивания координат героя в статическую переменную типа Number в класс врага и о чудо любые параметры в этом классе применяются для каждого экземпляра не зависимо. Чувствую Main вычищу подчистую)


Последний раз редактировалось Tetraeon; 13.05.2012 в 01:03.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:07.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.