Вид от первого лица на Game maker
|
|
208 |
Дата: Понедельник, 27.02.2012, 20:44 | Сообщение # 1 |
Сообщений: [46]
|
Как сделать вид от первого лица на Game maker?
|
|
| |
Конструктор |
Дата: Понедельник, 27.02.2012, 22:13 | Сообщение # 2 |
( Не ленимся =) )
Сообщений: [1854]
|
В драв игрока ствишь: d3d_set_projection(x,y,z+height,x+vecx,y+vecy,z+height+vecz,0,0,1);
В создании пишешь: height - высота игрока. vecx=0; vecy=0; vecz=0; pitch=0; dir=0;
В степ пишешь: dir-=(display_mouse_get_x()-display_get_width()/2)/10; // узнаем на сколько мышка сдвинулась от центра экрана, на столько и крутим к текущему углу по оси Х if (dir>360) {dir=0;} if (dir<0) {dir=360;} // выравниваем значение. pitch+=(display_mouse_get_y()-display_get_height()/2)/10; // узнаем на сколько мышка сдинулась на У, и смещеаем угол по оси Z display_mouse_set(display_get_width()/2,display_get_height()/2); // устанавливаем положение мышки в центр pitch=max(min(pitch,80),-80); // устанавливаем минимум и максимум обзора по оси Z vecx=cos(degtorad(-dir))*cos(degtorad(-pitch)); vecy=sin(degtorad(-dir))*cos(degtorad(-pitch)); vecz=sin(degtorad(-pitch)); // расчитываем положения векторов для камеры.
Точно не помню как гамак извращается над осями но я писал комментарии согласно стандарту положения осей в 3Д Н снизу вверх, Z от глаз в даль монитора, X соотв слева вправо. Код рабочий.
|
|
| |
208 |
Дата: Вторник, 28.02.2012, 13:28 | Сообщение # 3 |
Сообщений: [46]
|
Выдает ошибку =(
|
|
| |
Filinshein |
Дата: Вторник, 28.02.2012, 15:57 | Сообщение # 4 |
Сообщений: [2138]
|
208, Мы не экстрасенсы. Код ошибки или скриншот.
|
|
| |
208 |
Дата: Среда, 29.02.2012, 13:45 | Сообщение # 5 |
Сообщений: [46]
|
Вот код ошибки:
ERROR in action number 1 of Draw Event for object object0:
Error in code at line 1: d3d_set_projection(x,y,z+height,x+vecx,y+vecy,z+height+vecz,0,0,1); ^ at position 24: Unknown variable z
|
|
| |
Конструктор |
Дата: Среда, 29.02.2012, 14:22 | Сообщение # 6 |
( Не ленимся =) )
Сообщений: [1854]
|
Зачем писать тут и слать в ЛС тоже самое? Ответ в ЛС написал еще.....
|
|
| |
|