Hallo alle zusammen,
ich war eben auf der englischen GMC und habe mir da ein Code kopiert. Dieser ermöglicht das hinein+hinaus-zoomen.
Soweit funktioniert das auch sehr gut, jedoch würde ich dem "Zoom" gerne eine Grenze setzen,
sodass man nicht ewig weit die Sicht verkleinern kann.
Create Event:
Global Mouse Left Button:
Alles anzeigen
"Mark Overmars" hat in folgendem Thread den Code etwas verfeinert, doch die editierte Version ist nicht mehr auffindbar.
Thread<-
ich war eben auf der englischen GMC und habe mir da ein Code kopiert. Dieser ermöglicht das hinein+hinaus-zoomen.
Soweit funktioniert das auch sehr gut, jedoch würde ich dem "Zoom" gerne eine Grenze setzen,
sodass man nicht ewig weit die Sicht verkleinern kann.
Create Event:
Global Mouse Left Button:
GML-Quellcode
- var view_ratio;
- view_ratio = view_hview[0]/view_wview[0];
- if( device_mouse_check_button_pressed( 1, mb_left ) )
- {
- initial_x = mean( device_mouse_x( 0 ), device_mouse_x( 1 ) );
- initial_y = mean( device_mouse_y( 0 ), device_mouse_y( 1 ) );
- initial_zoom =
- point_distance
- (
- device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
- device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
- )*view_scale;
- };
- if( device_mouse_check_button( 1, mb_left ) )
- {
- view_scale = initial_zoom/
- point_distance
- (
- device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
- device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
- );
- view_wview[0] = initial_w_view*view_scale;
- view_hview[0] = view_wview[0]*view_ratio;
- view_xview[0] += initial_x-mean( device_mouse_x( 0 ), device_mouse_x( 1 ) );
- view_yview[0] += initial_y-mean( device_mouse_y( 0 ), device_mouse_y( 1 ) );
- };
"Mark Overmars" hat in folgendem Thread den Code etwas verfeinert, doch die editierte Version ist nicht mehr auffindbar.
Thread<-