Ура,готово.
Сделал,возможно можно было легче.
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
ФПС стабильна,абсолютная безлаговость.