![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Sniper_ |
|
|||
|
Unregistered |
Есть вот такой файл:
wall wall.bmp -20 20 0 -20 20 -50 20 20 0 20 20 -50 20 20 0 -20 20 -50 -20 0 0 -20 0 -50 20 0 0 20 0 -50 20 0 0 -20 0 -50 kletki kletki.bmp -20 20 0 -20 20 -50 -20 0 0 -20 0 -50 -20 0 0 -20 20 -50 20 20 0 20 20 -50 20 0 0 20 0 -50 20 0 0 20 20 -50 -20 0 -50 -20 20 -50 20 0 -50 20 20 -50 20 0 -50 -20 20 -50 причём не известно как расставлены файлы BMP и идентификаторы!!! Ниже следующий код читает только цифры без имён BMP файлов и идентификаторов (т.е. без kletki kletki.bmp ) var VertexCount: Integer; Vertex: array of TVector; // Load world procedure LoadWorld(Filename: String); var F: TextFile; begin AssignFile(F, Filename); Reset(F); while not Eof(F) do begin SetLength(Vertex, VertexCount + 1); Read(F, Vertex[VertexCount].X, Vertex[VertexCount].Y, Vertex[VertexCount].Z); Inc(VertexCount); end; CloseFile(F); end; Как ИЗМЕНИТЬ код так что бы идентификаторы и имена BMP'шек так же распихивались по разным массивам |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Насколько я понял, ты вояеш 3-д гамицу?
А ближе к делу хочеш хранить в массиве набор объектов и их параметров? Тогда оптимальное решение - это создание своего типа. Это элементарно: type TObj=record VertexX,VertexY,VertexZ:TVector;//координаты объекта Type:string;//тип объкта (wall и т.д.); только Type напиш как-нить по-другому, а то это зарезервировано ... //другие свойства объекта end; var Obj:array[1..100] of TObj; procedure LoadWorld(Filename: String); var F: TextFile; i:integer; begin AssignFile(F, Filename); Reset(F); i:=0; while not Eof(F) do inc(i); begin Read(F, Obj[i].VertexX, Obj[i].VertexY, Obj[i].VertexZ, Obj[i].Type); Inc(VertexCount); end; CloseFile(F); begin LoadWorld; end. |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Насколько я понял, ты вояеш 3-д гамицу?
А ближе к делу хочеш хранить в массиве набор объектов и их параметров? Тогда оптимальное решение - это создание своего типа. Это элементарно: type TObj=record VertexX,VertexY,VertexZ:TVector;//координаты объекта Type:string;//тип объкта (wall и т.д.); только Type напиш как-нить по-другому, а то это зарезервировано ... //другие свойства объекта end; var Obj:array[1..100] of TObj; procedure LoadWorld(Filename: String); var F: TextFile; i:integer; begin AssignFile(F, Filename); Reset(F); i:=0; while not Eof(F) do inc(i); begin Read(F, Obj[i].VertexX, Obj[i].VertexY, Obj[i].VertexZ, Obj[i].Type); Inc(VertexCount); end; CloseFile(F); begin LoadWorld; end. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |