8000 Merge pull request #79 from romariops/Examples/core_2d_camera_mouse_zoom · sDos280/raylib-python-cffi@1910c11 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1910c11

Browse files
Merge pull request electronstudio#79 from romariops/Examples/core_2d_camera_mouse_zoom
2 parents 6113328 + 52adefe commit 1910c11

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
"""
2+
raylib [core] example - 2d camera mouse zoom
3+
"""
4+
5+
import pyray
6+
7+
SCREEN_WIDTH = 800
8+
SCREEN_HEIGHT = 450
9+
10+
pyray.init_window(SCREEN_WIDTH, SCREEN_HEIGHT, "raylib [core] example - 2d camera mouse zoom")
11+
12+
pyray.set_target_fps(60)
13+
14+
camera = pyray.Camera2D()
15+
16+
camera = pyray.Camera2D()
17+
camera.zoom = 1.0
18+
19+
pyray.set_target_fps(60) 8000 ;
20+
21+
# main game loop
22+
while not pyray.window_should_close():
23+
# update
24+
if pyray.is_mouse_button_down(pyray.MOUSE_BUTTON_RIGHT):
25+
delta = pyray.get_mouse_delta()
26+
delta = pyray.vector2_scale(delta, -1.0 / camera.zoom)
27+
camera.target = pyray.vector2_add(camera.target, delta)
28+
29+
# zoom based on mouse wheel
30+
wheel = pyray.get_mouse_wheel_move()
31+
if wheel != 0:
32+
33+
mouseWorldPos = pyray.get_screen_to_world_2d(pyray.get_mouse_position(), camera)
34+
35+
camera.offset = pyray.get_mouse_position()
36+
37+
camera.target = mouseWorldPos
38+
39+
ZOOM_INCREMENT = 0.125
40+
41+
camera.zoom 8000 += (wheel*ZOOM_INCREMENT)
42+
if (camera.zoom < ZOOM_INCREMENT): camera.zoom = ZOOM_INCREMENT
43+
44+
45+
# draw
46+
pyray.begin_drawing()
47+
pyray.clear_background(pyray.BLACK)
48+
49+
pyray.begin_mode_2d(camera)
50+
51+
pyray.rl_push_matrix()
52+
pyray.rl_translatef(0, 25*50, 0)
53+
pyray.rl_rotatef(90, 1, 0, 0)
54+
pyray.draw_grid(100, 50)
55+
pyray.rl_pop_matrix()
56+
57+
pyray.draw_circle(100, 100, 50, pyray.YELLOW)
58+
59+
pyray.end_mode_2d()
60+
61+
pyray.draw_text("Mouse right button drag to move, mouse wheel to zoom", 10, 10, 20, pyray.WHITE);
62+
63+
pyray.end_drawing()
64+
65+
# de-Initialization
66+
pyray.close_window()
67+

0 commit comments

Comments
 (0)
0