[2D] - AzEngine
| |
AGENTX001 | Дата: Суббота, 21 Января 2012, 12:31 | Сообщение # 41 |
почётный гцупер
Сейчас нет на сайте
| Quote (AirWolF_RG) Я так понял он говорит про создание экземпляров класса. Тобишь допустим ты описываешь игровой объект "пуля", а потом во время игры создаешь сколько тебе надо экземпляров такого класса. Именно!)Quote (AirWolF_RG) Такие классы надо создавать уже в своем собственном коде, а не в движке. Вот именно. Во всех двигах приходится пилить самому
|
|
| |
FadeBaker | Дата: Суббота, 21 Января 2012, 13:21 | Сообщение # 42 |
JavaSE Game Developer
Сейчас нет на сайте
| Первый движок с понятными и удобными для меня функциями! Буду ждать! Удачи тебе в разработке!
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 14:18 | Сообщение # 43 |
постоянный участник
Сейчас нет на сайте
| Quote (Fade) Первый движок с понятными и удобными для меня функциями! Буду ждать! Удачи тебе в разработке! Спасибо. Стараюсь. Первым делом пишу так, чтобы было удобно работать.
Про экземпляры я всё равно не понял. Вы имеете ввиду что-то типа клонирования объектов, но сразу кучей? По 5 по 6 одним методом? В моём понимании экземпляр - это объект класса. Тут, если класс - объект, то я не могу понять как вы хотите строить из них экземпляры, если не путём клонирования
Приведите плиз пример кода, как вы это представляете.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Суббота, 21 Января 2012, 14:45 | Сообщение # 44 |
почетный гость
Сейчас нет на сайте
| Aikidos, я не знаком с работой с классами в С++ (это пока), но попытаюсь написать на BMax"е.
Code ' Основной код Local Bullet:TBullet[5] For Local i:Int = 0 to 4 Bullet[i] = New TBullet.Create() Next
While 1 Cls For Local i:Int = 0 to 4 Bullet[i].Update() Bullet[i].Draw() Next Flip Wend ' Конец основного кода
' Описание класса TBullet Type TBullet Field x:Int Field y:Int Field Image:TImage
Function Create:TBullet() Local Bullet:TBullet = New TBullet Bullet.x = Rand(1,800) Bullet.y = Rand(1,600) Bullet.Image = LoadImage ("bullet.png") Return Bullet End Function
Method Update() ' Здесь какое нибудь обновление End Method
Method Draw() ' Здесь отрисовка End Method End Type Как видишь, здесь можно делать массив объектов с одним именем, а у тебя, как я понял, в контейнере объектов каждому объекту присваивается свое уникальное имя. И если на сцене пуль, скажем этак, 20, то обновлять каждую по уникальному идентификатору становится проблематичным.
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
AGENTX001 | Дата: Суббота, 21 Января 2012, 17:21 | Сообщение # 45 |
почётный гцупер
Сейчас нет на сайте
| Aikidos, ГМ скачай, там посмотри...
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 19:05 | Сообщение # 46 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) обновлять каждую по уникальному идентификатору становится проблематичным. Так поэтому для каждого объекта можно подключать скрипт (при копировании объекта, скрипт тоже копируется).
Quote (AGENTX001) Aikidos, ГМ скачай, там посмотри... Понятно.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AGENTX001 | Дата: Суббота, 21 Января 2012, 19:16 | Сообщение # 47 |
почётный гцупер
Сейчас нет на сайте
| Ты считаешь, что самый популярный геймдев продукт ниже твоего достоинства?
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 19:27 | Сообщение # 48 |
постоянный участник
Сейчас нет на сайте
| Quote (AGENTX001) Ты считаешь, что самый популярный геймдев продукт ниже твоего достоинства? Моё то достоинство выше GM'a. Я гарантирую это. Если конечно ты имел ввиду движок, то нет, GM выше. Только что с этого?
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Суббота, 21 Января 2012, 19:28 | Сообщение # 49 |
почетный гость
Сейчас нет на сайте
| Aikidos, а как в таком случае производить прямой доступ к многочисленным копиям из основного кода?
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 19:36 | Сообщение # 50 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Aikidos, а как в таком случае производить прямой доступ к многочисленным копиям из основного кода? Я, конечно, понимаю всё это. Только у меня нет идей как, лучше и удобнее всего, реализовать это.Добавлено (21.01.2012, 19:36) --------------------------------------------- Ппц, не так понял AGENTX001. Да нет. Мне просто не хочется разбираться в GM. Я двиг для себя пишу прежде всего. Зачем мне копировать GM?
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Суббота, 21 Января 2012, 22:03 | Сообщение # 51 |
почетный гость
Сейчас нет на сайте
| Aikidos, может лучше отказаться от контейнера объектов? Может лучше создавать объекты отдельно? В таком случае их можно будет объединять в массив, вектор, лист и т.д., а также можно будет иметь прямой доступ к каждому одноименному объекту отельно.
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 22:15 | Сообщение # 52 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Aikidos, может лучше отказаться от контейнера объектов? Менеджер объектов занимается обработкой объектов, следит за тем, чтобы не было утечки памяти и т.п.
Quote (AirWolF_RG) Может лучше создавать объекты отдельно? В таком случае их можно будет объединять в массив, вектор, лист и т.д. Сейчас тоже можно создать массив ссылок на объекты.
Quote (AirWolF_RG) также можно будет иметь прямой доступ к каждому одноименному объекту отельно. Code GameObject @pMyObject = ObjectManager.Get("MyObject"); ........ операции с объектом........
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Суббота, 21 Января 2012, 22:20 | Сообщение # 53 |
почетный гость
Сейчас нет на сайте
| Aikidos, опять же все упирается в уникальный идентификатор. Пуль 100, а идентификатор пули - 1. Ну или других каких нибудь одинаковых объектов. Вот у тебя объект когда клонируется, как к нему доступ совершать?
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 22:26 | Сообщение # 54 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Вот у тебя объект когда клонируется, как к нему доступ совершать? Code GameObject @clone = ObjectManager.Clone("MyObject", "MyObjectC");
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Суббота, 21 Января 2012, 22:39 | Сообщение # 55 |
почетный гость
Сейчас нет на сайте
| Aikidos, вот видишь, ты копируешь и задаешь ему другой персональный идентификатор. А каждый перебирать...
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Суббота, 21 Января 2012, 22:42 | Сообщение # 56 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Aikidos, вот видишь, ты копируешь и задаешь ему другой персональный идентификатор. А каждый перебирать... Есть другие предложения реализации?
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Воскресенье, 22 Января 2012, 11:56 | Сообщение # 57 |
почетный гость
Сейчас нет на сайте
| Aikidos, может лучше заменить char[] идентификатор на int идентификатор? Тогда можно будет проще определятся. Например, можно уже будет в голове держать, что с 1000 и до 1100 - это объекты пуль, ну и т.д. Их тогда и в циклах обрабатывать легче и быстрее, ну и доступ проще получать, особенно в цикле for
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Воскресенье, 22 Января 2012, 13:56 | Сообщение # 58 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Aikidos, может лучше заменить char[] идентификатор на int идентификатор? Тогда можно будет проще определятся. Например, можно уже будет в голове держать, что с 1000 и до 1100 - это объекты пуль, ну и т.д. Их тогда и в циклах обрабатывать легче и быстрее, ну и доступ проще получать, особенно в цикле for Вот именно, что в голове держать числа. Мне кажется намного легче держать в голове имена. Доступ тоже легко получить через for
Code for (int i = 1; i <= 1000; i ++) { GameObject @object = ObjectManager.Get("Bullet " + Convert.IntToStr(i)); ........ операции над объектом......... }
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Воскресенье, 22 Января 2012, 15:26 | Сообщение # 59 |
почетный гость
Сейчас нет на сайте
| Aikidos, согласен, но есть же и #define :). А вообще, ты уже сам ответил на тот вопрос, который так тревожил AGENTX001. В цикле можно как создавать неограниченное кол-во объектов, так и иметь доступ к ним Я всего лишь поддержал вопрос
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
05142 | Дата: Воскресенье, 22 Января 2012, 15:42 | Сообщение # 60 |
постоянный участник
Сейчас нет на сайте
| Зачем вообще все эти текстовые названия? Недостаток архитектуры движка?
mecinvader
|
|
| |
|