3D камера на Game Maker
| Коды дополнительная информация (1,2,3) еденица кода шаг первый: создаём обект камеры шаг второй: в событии создания объекта камеры вводим d3d_start() d3d_set_culling(false) d3d_set_hidden(true) d3d_set_lighting(false) d3d_set_perspective(true) d3d_set_shading(false) friction=.1 bearing=0 z=16 global.pitch=0 vector_x=0 vector_y=0 vector_z=0 шаг третий: в событии рисования объекта камеры вводим bearing -= (display_mouse_get_x() -display_get_width()/2)/10; global.pitch += (display_mouse_get_y() -display_get_height()/2)/10; global.pitch = max(min(global.pitch,80),-80); ss = sin(degtorad(bearing));cc = cos(degtorad(bearing)); vector_x=cc*cos(degtorad(-global.pitch)); vector_y=ss*-cos(degtorad(-global.pitch)); vector_z=sin(degtorad(-global.pitch)); d3d_set_projection(x,y,z,x+vector_x,y+vector_y,z+vector_z,0,0,1) draw_set_color(c_white); display_mouse_set(display_get_width()/2,display_get_height()/2); чтобы наша камера смогла двигаться в событии шага вводим if keyboard_check(ord('W')) {direction=bearing if speed < 2 then speed +=.5} if keyboard_check(ord('S')) {direction=bearing if speed > -2 then speed -=.5} чтобы нарисовать пол или потолок в событии рисования камеры введите d3d_draw_floor(0,0, 1 ,640,640, 1 ,background_get_texture( 2),16,16); 1 высота (умный поймёт что в коде 1 и 1 равны) 2 имя фона на англиском | |
| Категория: Литература по созданию игр | Добавил: ScOrP | |
| Просмотров: 527 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 5.0/3 | | |
| Всего комментариев: 1 | ||
| ||








Сайт:
Новости:
Скачать:
Дополнительно:
Форум:









