![]() |
Ответ: Разделить мир на квады
Вложений: 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 объявлен вне функций как глобальный?
|
Часовой пояс GMT +4, время: 05:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot