Hi,
Ich wollte wissen wie ich einen 3D-Block so zeichne dass er sich mit der Sicht des Spielers dreht
(Wie halt in EgoShootern die Waffe)
Spoiler anzeigen
Alles anzeigen
Wie geht dat?
Danke!
Ich wollte wissen wie ich einen 3D-Block so zeichne dass er sich mit der Sicht des Spielers dreht
(Wie halt in EgoShootern die Waffe)
GML-Quellcode
- Information about object: obj_character
- Sprite: <no sprite>
- Solid: false
- Visible: true
- Depth: 100000
- Persistent: false
- Parent: <no parent>
- Mask: <same as sprite>
- Create Event:
- execute code:
- d3d_start()
- d3d_set_perspective(true)
- d3d_set_lighting(true)
- d3d_set_fog(true,c_black,0,2048)
- draw_set_color(c_white)
- z=64
- z_to=64
- direction=90
- pitch=0
- Step Event:
- execute code:
- d3d_light_define_direction(1,1,1,1,c_white)
- d3d_light_enable(1,true)
- d3d_light_define_direction(2,-1,-1,-1,c_gray)
- d3d_light_enable(2,true)
- d3d_light_define_point(3,room_width/2,room_height/2,500,1200,c_white)
- d3d_light_enable(3,true)
- direction -= (display_mouse_get_x() -display_get_width()/2)/10;
- pitch += (display_mouse_get_y() -display_get_height()/2)/10;
- pitch = max(min(pitch,100),-100);
- display_mouse_set(display_get_width()/2, display_get_height()/2);
- Keyboard Event for A-key Key:
- execute code:
- {
- var xn,yn;
- xn = x - sin(direction*pi/180)*2;
- yn = y - cos(direction*pi/180)*2; { x = xn; y = yn; }
- }
- Keyboard Event for D-key Key:
- execute code:
- {
- var xn,yn;
- xn = x + sin(direction*pi/180)*2;
- yn = y + cos(direction*pi/180)*2; { x = xn; y = yn; }
- }
- Keyboard Event for S-key Key:
- execute code:
- speed=-5
- Keyboard Event for W-key Key:
- execute code:
- speed=5
- Mouse Event for Mouse Wheel Up:
- execute code:
- z-=20
- Mouse Event for Mouse Wheel Down:
- execute code:
- z+=20
- Draw Event:
- execute code:
- d3d_set_projection(x,y,z,x+cos(direction*pi/180),y-sin(direction*pi/180),z_to-sin(pitch*pi/180),0,0,1);
- Key Press Event for <Up> Key:
- execute code:
- z_to+=0.4
- Key Press Event for <Down> Key:
- execute code:
- z_to-=0.4
- Key Release Event for S-key Key:
- execute code:
- speed=0
- Key Release Event for W-key Key:
- execute code:
- speed=0
Wie geht dat?
Danke!
Ihc hab so voll den ij