![]() |
Разделить мир на квады
Вложений: 1
Захотел я сделать что-нибудь прикольное связанное с экономикой.Например свой зоопарк.
Мне нужно разделить каку-либо плоскость на квадраты и чтобы я в любом таком квадратике мог поставить какой-либо объект. Каким образом это можно провернуть? Вложение 15369 |
Ответ: Разделить мир на квады
1. Создаешь массив 20х20.
2. ?????? 3. профит! |
Ответ: Разделить мир на квады
О спасибо,я что-то запамятовал
|
Ответ: Разделить мир на квады
PHP код:
|
Ответ: Разделить мир на квады
Ну у тебя же должны кубы ставиться по двум координатам:
Код:
Dim box(20,20) |
Все разобрался.
А как удалить пост?у меня нет такой кнопки Сделал возможность выделять квадратики,уже прогресс. |
Ответ: Разделить мир на квады
А почему бы не сделать только два триангла на ячейку вместо целого квада? ИМХО, полигонаж сократится ровно в 6 раз
|
Ответ: Разделить мир на квады
Вложений: 1
Если я правильно понял,то ты предлагаешь разделить один квадрат на 4.
Вложение 15374 |
Ответ: Разделить мир на квады
Нет, я предлогаю вместо CreateCube() делать создание только ОДНОГО сурфейса. Да и вообще, тук-тук в аську: 371074970
|
Ответ: Разделить мир на квады
Цитата:
|
Ответ: Разделить мир на квады
Цитата:
|
Ответ: Разделить мир на квады
Такс...создал я квад
PHP код:
|
Ответ: Разделить мир на квады
Цитата:
|
Ответ: Разделить мир на квады
Сделал все,как посоветовал АВТОМАТ.
Как можно узнать позицию Triangle? |
Ответ: Разделить мир на квады
Через
TriangleVertex ( surface,triangle_index,corner ) Получаем нужный vertex (0,1,2) И далее: VertexX# ( surface,index ) VertexY# ( surface,index ) VertexZ# ( surface,index ) По теме: http://help.boolean.name/commands/3d...edTriangle.htm |
Ответ: Разделить мир на квады
Вложений: 1
Ура,готово.
Сделал,возможно можно было легче. Код:
If (CameraPick(cam,MouseX(),MouseY()))<>0 Then Но зато я обнаружил, что в кваде, состоящем из двух треугольников, первый из них имеет, делящийся на 2 - номер,а второй при делении на 2,имеет остаток. Тогда,деля номер триангла на 2, я проверял,равен ли результат целому числу,если да,то позиция такая,если нет,то позиция другая. Результат: Вложение 15378 UPD Создал карту размером 30x30 ячеек. TrisRendered: 1313 ФПС стабильна,абсолютная безлаговость. |
Ответ: Разделить мир на квады
Новый трабл.
У меня есть тип: Код:
Type Attracts (атракционы :D ) Код:
Function CreateAttracts.Attracts(x#,y#) Создать переменную a\picked=PickedTriangle() и потом проверять пикнутую в данный момент клетку со всеми объектами.Подскажите |
Ответ: Разделить мир на квады
Перед созданием нового объекта проверять, не существует ли он уже.
Можно например при создании записывать в объект номера принадлежащих ему полигонов. При повторном пике поискать, нет ли где объекта с номером пикнутого триса. Если нет - то создавать новый. |
Ответ: Разделить мир на квады
Цитата:
типа если квады стоят так: 1 2 3 4 5 6 и каждый квад = 2 триангла (последовательно в памяти) то как-то так: quadID = triangleID / 2 quadX# = quadID Mod numQuadsX quadY# = floor(quadID / float(numQuadsX)) quadX = quadX / numQuadsX quadY = quadY / numQuadsY posX# = lerp(minX,maxX,quadX) posY# = lerp(minY,maxY,quadY) Function lerp#(a#,b#,c#) Return a#+c#*(b#-a#) End Function |
Ответ: Разделить мир на квады
6 вертексов на квад??? да вы извращенцы. Это ж тока в DX надо без индексного буфера :(
|
Ответ: Разделить мир на квады
Цитата:
|
Ответ: Разделить мир на квады
для квада достаточно 4х вершин, ты создаёшь 6 (судя по посту №13)
|
Ответ: Разделить мир на квады
А,тоесть можно как-то соединить четыре вертекса?
Можно поподробнее |
Ответ: Разделить мир на квады
Ну как то так
PHP код:
|
Ответ: Разделить мир на квады
Точно,что-то я туплю
|
Ответ: Разделить мир на квады
О,я нашел классную библиотеку по квадам.
http://blitzetc.blitzmax.ru/index.ph...QuadLibrary.bb |
Ответ: Разделить мир на квады
Код:
quadID=PickedTriangle()/2 |
Ответ: Разделить мир на квады
a\Pick чему равен? запости полный код пика
|
Ответ: Разделить мир на квады
У меня там еще в коде ко-что,счетчик CountEnt.
Код:
If MouseHit(1)=True Then Код:
Function CreateAttracts.Attracts(x#,y#,Pick) |
Ответ: Разделить мир на квады
CountEnt объявлен вне функций как глобальный?
|
Ответ: Разделить мир на квады
Да,именно
|
Ответ: Разделить мир на квады
Цитата:
|
Ответ: Разделить мир на квады
Потерялось при копировании.
Там между Endif'ами Next должен стоять. |
Ответ: Разделить мир на квады
значит ошибка где-то ещё (не в запощенном коде)
|
Ответ: Разделить мир на квады
Я создал массив Dim CELL(10,10)
Теперь я создаю карту: Код:
For x=1 to 10 Мой ГГ появляется в ячейке CELL(1,1). И когда я передвигаюсь ГГ'ем,мне нужно,чтобы на экране выводился номер той ячейки в которой ГГ в данный момент находится. PHP код:
|
Ответ: Разделить мир на квады
ну как проверить нахождение точки в квадрате ты же можешь догадаться?
|
Часовой пояс GMT +4, время: 10:22. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot