Развитие игровой вспышки
Flash Game Ratings
Текущее время: Пт мар 31, 2017 2:35 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7530 ]  На страницу Пред.  1 ... 747, 748, 749, 750, 751, 752, 753  След.
Автор Сообщение
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Пт фев 17, 2017 12:25 pm 
Не в сети

Зарегистрирован: Ср апр 06, 2011 12:31 pm
Сообщений: 2491
Откуда: Moscow
Сайт: http://stranger087.com
Ranex писал(а):
так как должно существовать много разных массивов(разные виды врагов и пуль)


Неправильно. Про полиморфизм слышал? Все пули должны наследоваться от базового класса пули и лежать в одном массиве, а все враги от базового класса врага, и тоже лежать в одном массиве.
Если наследоваться от одного не получается, то заюзай интерфейсы.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Вт фев 21, 2017 11:39 am 
Не в сети
Аватар пользователя

Зарегистрирован: Вт май 20, 2014 5:33 pm
Сообщений: 43
Stranger087 писал(а):
Все пули должны наследоваться от базового класса пули и лежать в одном массиве, а все враги от базового класса врага, и тоже лежать в одном массиве.

Ок, а как потом брать из массива нужный тип врага?


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Вт фев 21, 2017 12:26 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср ноя 02, 2011 9:23 am
Сообщений: 354
Ranex писал(а):
Stranger087 писал(а):
Все пули должны наследоваться от базового класса пули и лежать в одном массиве, а все враги от базового класса врага, и тоже лежать в одном массиве.

Ок, а как потом брать из массива нужный тип врага?

Можешь у врагов завести переменную тэг, а потом по нему вытаскивать нужных врагов. Или проверять на конкретный тип с помощью instanceof.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Чт фев 23, 2017 9:03 am 
Не в сети

Зарегистрирован: Ср апр 06, 2011 12:31 pm
Сообщений: 2491
Откуда: Moscow
Сайт: http://stranger087.com
Ranex писал(а):
Stranger087 писал(а):
Все пули должны наследоваться от базового класса пули и лежать в одном массиве, а все враги от базового класса врага, и тоже лежать в одном массиве.

Ок, а как потом брать из массива нужный тип врага?


Самый оптимизированный вариант - это сделать отдельные массивы для типов, чтоб брать список всех врагов этого типа.

Но поскольку обычно такая хрень нужна очень редко, можно просто сделать функцию, которая пробегается по всем врагам, и если enemies[i] is SpecificEnemy, то добавляет его в массив который возвращает функция.
может быть можно даже без всякой функции, просто for each(SpecificEnemy in enemies)

кстати, зачем тебе это нужно?


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Чт фев 23, 2017 2:31 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 29, 2010 11:52 pm
Сообщений: 2644
Откуда: Одесса
Сайт: http://bellinsky.com
А разве нельзя внутри пула держать словарь, где в качестве ключа используется св-во constructor, а в качестве значения массив объектов:
Код:
package {
import flash.utils.Dictionary;

public class Pool {
   private static var instance:Pool;
   private var _poolsDictionary:Dictionary;
   
   public function Pool() {
      if (Pool.instance) {
         throw new Error("Синглтон же! Только через getInstance().");
      }
      
      this._poolsDictionary = new Dictionary();
   }

   public static function getInstance():Pool {
      Pool.instance = Pool.instance || new Pool();
      return Pool.instance;
   }
   
   public function getObjectByClass(classReference:Class):Object {
      if (this._poolsDictionary[classReference] == null) {
         this._poolsDictionary[classReference] = [];
      }
      var pool:Array = this._poolsDictionary[classReference];
      return pool.length ? pool.pop() : new classReference();
   }
   
   public function putObject(objectReference:Object):void {
      var classReference:Class = objectReference.constructor as Class;
      if (this._poolsDictionary[classReference] == null) {
         this._poolsDictionary[classReference] = [];
      }
      var pool:Array = this._poolsDictionary[classReference];
      pool.push(objectReference);
   }
}
}


P.S.
Код на коленке писан, до утреннего кофе, элегантность не обещаю.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Пт фев 24, 2017 6:42 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Вт май 20, 2014 5:33 pm
Сообщений: 43
Спасибо за разнообразные ответы, то что нужно! :yes:


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Ср мар 15, 2017 12:30 pm 
Не в сети

Зарегистрирован: Сб мар 11, 2017 12:57 am
Сообщений: 6
Здраствуйте. Помогите разобраться (и исправить)). В моей игрушке есть функция рисования точек мышью. Рисование обычное, если удерживаем лкм и ведем мышь, получается линия из точек. Это ок. Теперь проблема. У меня точка - это маленький квадрат из Бокс2д (нужна физика). И когда я веду мышь относительно быстро, в линии происходят разрывы. Обьясните плиз почему и как лечить.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Ср мар 15, 2017 1:06 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Вс дек 19, 2010 5:31 pm
Сообщений: 4552
Откуда: Пока не знаю
Сайт: http://gamespoweredby.com/blog/
http://www.flashandmath.com/advanced/smoothdraw/


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Ср мар 15, 2017 1:35 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср май 02, 2012 8:18 pm
Сообщений: 3057
SuperBozon писал(а):
...относительно быстро, в линии происходят разрывы. Обьясните плиз почему и как лечить.


Надо рисовать не точки, а куски линий от предыдущих координат мышки до текущих. Как это издревле всегда и делалось :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос - ответ
СообщениеДобавлено: Ср мар 15, 2017 8:04 pm 
Не в сети

Зарегистрирован: Сб мар 11, 2017 12:57 am
Сообщений: 6
Простите, не пойму как рисовать эти куски линий.


Вернуться наверх
 Профиль Отправить e-mail  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7530 ]  На страницу Пред.  1 ... 747, 748, 749, 750, 751, 752, 753  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB