Исходник Направление камеры в сторону координат

Статус
В этой теме нельзя размещать новые ответы.

cover

Известный
Автор темы
Проверенный
245
268
Код:
:label_setCamPos
// 0ab1: @label_setCamPos 2 posX posY
068D: get_camera_position_to 3@ 4@ 5@
0063: 0@ -= 3@
0063: 1@ -= 4@
0604: get_Z_angle_for_point 0@ 1@ store_to 5@       
while 5@ < 0.0
5@ += 360.0
end           
5@ -= 90.0
5@ /= 57.295776       
0A8D: 6@ = readMem 0xB6F248 size 4 vp 0  //vertical angle
0A8D: 7@ = readMem 0xB6F258 size 4 vp 0  //horizontal angle             
0087: 8@ = 7@
0063: 8@ -= 5@  //diff       
while 8@ <= -3.14159
8@ += 6.28318
end       
while 8@ > 3.14159
8@ -= 6.28318
end
0063: 7@ -= 8@       
0A25: set_camera_on_players_X_angle 6@ Z_angle 7@
0AB2: ret 0
Прекратите делать ботов, с нубским set angle
 
У

Удалённый пользователь 144706

Гость
Я делал через арктангенс(правда, в этом коде поворачивает только влево/вправо камеру, по X камеру не вертит, но это легко доделать):
CLEO:
// Установить фокус камеры игрока на точку(0@ = координата X точки, 1@ = координата Y точки)
// --------------------------------------------------------
:SET_CAMERA_TO_POINT
    00A0: store_actor $PLAYER_ACTOR position_to 2@ 3@ 4@
   
    0087: 4@ = 0@
    0063: 4@ -= 2@
   
    0087: 5@ = 1@
    0063: 5@ -= 3@
   
    0087: 6@ = 5@
    0073: 6@ /= 4@
   
    0C08: math 6@ = arctangent 6@
   
    if 0031: 4@ >= 0.0
    then
        000B: 6@ += 3.14
    end
   
    0A25: set_camera_on_players_X_angle 0.0 Z_angle 6@
   
    ret 0
// --------------------------------------------------------
 
Статус
В этой теме нельзя размещать новые ответы.