Показать сообщение отдельно
Старый 07.11.2011, 13:22   #16
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Разделить мир на квады

Ура,готово.
Сделал,возможно можно было легче.
If (CameraPick(cam,MouseX(),MouseY()))<>0 Then

selected_ent=PickedTriangle ()
vertex=TriangleVertex ( surf,selected_ent,0 )
 xv=VertexX ( surf,vertex )
 yv=VertexY ( surf,vertex )
 zv=VertexZ( surf,vertex )
selected_ent2#=PickedTriangle ()
selestN=(selected_ent2#/2)

If (selected_ent/2)=selestN Then
PositionEntity selectOVER,xv+2.5,yv+2.5,zv
Else
PositionEntity selectOVER,xv-2.5,yv-2.5,zv
EndIf
Когда я ставил выделитель(selectOVER) на позицию выделенного в данный момент триангла, выделитель почему-то смещался.Я не смог решить эту проблему.
Но зато я обнаружил, что в кваде, состоящем из двух треугольников, первый из них имеет, делящийся на 2 - номер,а второй при делении на 2,имеет остаток.
Тогда,деля номер триангла на 2, я проверял,равен ли результат целому числу,если да,то позиция такая,если нет,то позиция другая.
Результат:
FunnyPark.rar

UPD
Создал карту размером 30x30 ячеек.
TrisRendered: 1313
ФПС стабильна,абсолютная безлаговость.
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (09.11.2011)