Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2009, 13:39   #1
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
Радость Делаю игру "Tanks" 3D

написал функционал - покупка брони, топлива, патронов, сохранение и открытие, инициализацию графики. взялся за 3D, появились проблемы.
делаю в OpenGL. сюжета пока особого нету - ездите на танке по локаици и всех врагов убиваете. получаете деньги, совершенствуете танк.

собственно, вопрос:
раскажите пожалуйста, каким способом лучше добавлять в игру объекты - списки или загрузка из файла?
anyx вне форума Ответить с цитированием
Старый 18.09.2009, 13:49   #2
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я делаю гонки "GravityRace" и в них устроено таким образом:
Создан тип TPhysObject в Delphi . В редакторе объекты типа TPhysObject объекты заполняются информацией и сохраняются процедурой в .pho файл (типизированный). После в игре такой файл загружается процедурой, и информация о объекте попадает в ячейку массива Objects array [0..MAXObj] of TPhysObject. А процедура в таймере обрабатывает ячейку массива .
P.S 555 пост.
Вадим Буренков вне форума Ответить с цитированием
Старый 18.09.2009, 14:14   #3
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

кстати, для сохранения я пытался сохранять запись с данными в файл вот так:
FileStream:=TFileStream.Create(аргу менты);
FileStream.Write(MyTank,SizeOf(MyTa nk));
FileStream.Free;
и аналогично загружал (метод Read)
но данные не загружались. могу ошибаться, но файл весил 0кб. в чём ошибка?
anyx вне форума Ответить с цитированием
Старый 18.09.2009, 14:52   #4
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

известно, что чем меньше мы установим точки отсечения, тем меньше OGL будет обрабатывать, и тем быстрее будет работать приложение.
а есть ли разница, ставить очки отсечения в 80,60,200 и обрабатывать локацию 80Х200, или в 8,6,20 и обрабатывать локацию 8Х20. в первом случае числа больше, хотя объектов в пределах обработки осталось столько-же, и отношение к размеру локации то-же
anyx вне форума Ответить с цитированием
Старый 18.09.2009, 15:14   #5
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
кстати, для сохранения я пытался сохранять запись с данными в файл вот так:
Вот как я делаю:
Код:
var
f:file of TFilePhysObject; //файл типа TFilePhysObject который я сохраняю
PhysObj:TFilePhysObject; //переменная которую я сохраняю в файл.
....................
//тут в тип заносятся все данные
PhysObj.Name:='Tank';
PhysObj.Texture:='Tank.bmp';
...................
//теперь записываем данные из PhysObj в файл
Assignfile(f,'File.pho');
rewrite(f);
write(f,PhysObj);
closeFile(f); 

//все данные сохранены.
Если не знаешь как считать данные могу объяснить.
У твоей игры хоть скриншоты есть?
Вадим Буренков вне форума Ответить с цитированием
Старый 18.09.2009, 15:29   #6
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

скриншотить пока нечего. я же говорю - над графикой пока не работал
есть запись (record) с данными (броня, топливо, патроны, деньги, координаты танка). её и надо сохранить. а при открытии игры загружать данные в эту запись
anyx вне форума Ответить с цитированием
Старый 18.09.2009, 15:46   #7
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Как загрузить 3D-модель из файла? я видел способ, но он взят из чужого исходника и использует доп. модуль. а как без доп модулей?
anyx вне форума Ответить с цитированием
Старый 18.09.2009, 15:50   #8
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
есть запись (record) с данными (броня, топливо, патроны, деньги, координаты танка). её и надо сохранить. а при открытии игры загружать данные в эту запись
Разве я не привел пример выше?
Цитата:
Как загрузить 3D-модель из файла? я видел способ, но он взят из чужого исходника и использует доп. модуль. а как без доп модулей?
Я с 3D не работал, не знаю.
Вадим Буренков вне форума Ответить с цитированием
Старый 18.09.2009, 17:06   #9
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

Были где-то тут простыет 3D танчики - просто 2 танка ездили по пересеченной местности. Так что поиск тебе в руки))
Упс...
L_M вне форума Ответить с цитированием
Старый 18.09.2009, 17:26   #10
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Цитата:
Сообщение от anyx Посмотреть сообщение
Как загрузить 3D-модель из файла? я видел способ, но он взят из чужого исходника и использует доп. модуль. а как без доп модулей?
Используй GLScene там все просто кидаеш наформу FreeForm1 пишеш FreeForm1.LoadFromFile('anyx.3ds') и все если надо то там можно использовать чистый OpenGL
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Оцените игру "Башня" Ivin Gamedev - cоздание игр: Unity, OpenGL, DirectX 45 16.10.2008 19:53
Помогите сделать игру "Пазлы" pahaig JavaScript, Ajax 0 05.07.2007 19:32