@@ -31,89 +31,91 @@ def main():
31
31
32
32
init_window (screenWidth , screenHeight , "raylib [core] example - 2d camera split screen" )
33
33
34
- player1 = Rectangle (200 , 200 , PLAYER_SIZE , PLAYER_SIZE )
35
- player2 = Rectangle (250 , 200 , PLAYER_SIZE , PLAYER_SIZE )
34
+ red_player = Rectangle (200 , 200 , PLAYER_SIZE , PLAYER_SIZE )
35
+ blue_player = Rectangle (250 , 200 , PLAYER_SIZE , PLAYER_SIZE )
36
36
37
- camera1 = Camera2D (0 )
38
- camera1 .target = Vector2 (player1 .x , player1 .y )
39
- camera1 .offset = Vector2 (200.0 , 200.0 )
40
- camera1 .rotation = 0.0
41
- camera1 .zoom = 1.0
37
+ redPlayerCamera = Camera2D ()
38
+ redPlayerCamera .target = Vector2 (red_player .x , red_player .y )
39
+ redPlayerCamera .offset = Vector2 (200.0 , 200.0 )
40
+ redPlayerCamera .rotation = 0.0
41
+ redPlayerCamera .zoom = 1.0
42
42
43
- camera2 = Camera2D (0 )
44
- camera2 .target = Vector2 (player2 .x , player2 .y )
45
- camera2 .offset = Vector2 (200.0 , 200.0 )
46
- camera2 .rotation = 0.0
47
- camera2 .zoom = 1.0
43
+ bluePlayerCamera = Camera2D ()
44
+ bluePlayerCamera .target = Vector2 (blue_player .x , blue_player .y )
45
+ bluePlayerCamera .offset = Vector2 (200.0 , 200.0 )
46
+ bluePlayerCamera .rotation = 0.0
47
+ bluePlayerCamera .zoom = 1.0
48
48
49
- screenCamera1 = load_render_texture (screenWidth / 2 , screenHeight )
50
- screenCamera2 = load_render_texture (screenWidth / 2 , screenHeight )
49
+ redPlayerScreenCamera = load_render_texture (screenWidth / 2 , screenHeight )
50
+ bluePlayerScreenCamera = load_render_texture (screenWidth / 2 , screenHeight )
51
51
52
- splitScreenRect = Rectangle (0.0 , 0.0 , screenCamera1 .texture .width , screenCamera1 .texture .height )
52
+ splitScreenRect1 = Rectangle (0.0 , 0.0 , redPlayerScreenCamera .texture .width , redPlayerScreenCamera .texture .height * - 1.0 )
53
+ splitScreenRect2 = Rectangle (0.0 , 0.0 , redPlayerScreenCamera .texture .width , redPlayerScreenCamera .texture .height * - 1.0 )
53
54
54
55
set_target_fps (60 )
55
-
56
+
56
57
while not window_should_close ():
57
- if is_key_down (KEY_S ):
58
- player1 .y += 3.0
59
- elif is_key_down (KEY_W ):
60
- player1 .y -= 3.0
58
+ if is_key_down (KEY_KP_8 ):
59
+ red_player .y += 3.0
60
+ elif is_key_down (KEY_KP_5 ):
61
+ red_player .y -= 3.0
61
62
62
- if is_key_down (KEY_D ):
63
- player1 .x += 3.0
64
- elif is_key_down (KEY_A ):
65
- player1 .x -= 3.0
63
+ if is_key_down (KEY_KP_6 ):
64
+ red_player .x += 3.0
65
+ elif is_key_down (KEY_KP_4 ):
66
+ red_player .x -= 3.0
66
67
67
68
if is_key_down (KEY_UP ):
68
- player2 .y -= 3.0
69
+ blue_player .y -= 3.0
69
70
elif is_key_down (KEY_DOWN ):
70
- player2 .y += 3.0
71
+ blue_player .y += 3.0
71
72
72
73
if is_key_down (KEY_RIGHT ):
73
- player2 .x += 3.0
74
+ blue_player .x += 3.0
74
75
elif is_key_down (KEY_LEFT ):
75
- player2 .x -= 3.0
76
+ blue_player .x -= 3.0
76
77
77
- camera1 .target = Vector2 ( player1 . x , player1 . y )
78
- camera2 .target = Vector2 ( player2 . x , player2 . y )
78
+ redPlayerCamera .target = red_player . xy
79
+ bluePlayerCamera .target = blue_player . xy
79
80
80
- with texture_mode (screenCamera1 ):
81
+ with texture_mode (redPlayerScreenCamera ):
81
82
clear_background (RAYWHITE )
82
83
83
- begin_mode2d (camera1 )
84
- draw_rectangle_rec (player1 , RED )
85
- draw_rectangle_rec (player2 , BLUE )
84
+ begin_mode2d (redPlayerCamera )
85
+ draw_rectangle_rec (red_player , RED )
86
+ draw_rectangle_rec (blue_player , GRAY )
86
87
end_mode2d ()
87
88
88
89
draw_rectangle (0 , 0 , get_screen_width () / 2 , 30 , fade (RAYWHITE , 0.6 ))
89
- draw_text ("PLAYER1 : W/S/A/D to move" , 10 , 10 , 10 , MAROON )
90
+ draw_text ("RED PLAYER : W/S/A/D to move" , 10 , 10 , 10 , MAROON )
90
91
91
92
# end_texture_mode()
92
93
93
- with texture_mode (screenCamera2 ):
94
+ with texture_mode (bluePlayerScreenCamera ):
94
95
clear_background (RAYWHITE )
95
96
96
- begin_mode2d (camera2 )
97
- draw_rectangle_rec (player1 , RED )
98
- draw_rectangle_rec (player2 , BLUE )
97
+ begin_mode2d (bluePlayerCamera )
98
+ draw_rectangle_rec (red_player , GRAY )
99
+ draw_rectangle_rec (blue_player , BLUE )
99
100
end_mode2d ()
100
101
102
+ draw_text ("BLUE" , blue_player .x , blue_player .y , 10 , DARKBLUE )
101
103
draw_rectangle (0 , 0 , get_screen_width () / 2 , 30 , fade (RAYWHITE , 0.6 ))
102
- draw_text ("PLAYER2 : UP/DOWN/LEFT/RIGHT to move" , 10 , 10 , 10 , DARKBLUE )
104
+ draw_text ("BLUE PLAYER : UP/DOWN/LEFT/RIGHT to move" , 10 , 10 , 10 , DARKBLUE )
103
105
104
106
# end_texture_mode()
105
107
106
108
with drawing ():
107
109
108
110
clear_background (BLACK )
109
- draw_texture_rec (screenCamera1 .texture , splitScreenRect , Vector2 (0 , 0 ), WHITE )
110
- draw_texture_rec (screenCamera2 .texture , splitScreenRect , Vector2 (screenWidth / 2.0 , 0 ), WHITE )
111
+ draw_texture_rec (redPlayerScreenCamera .texture , splitScreenRect1 , Vector2 (0 , 0 ), WHITE )
112
+ draw_texture_rec (bluePlayerScreenCamera .texture , splitScreenRect2 , Vector2 (screenWidth / 2.0 , 0 ), WHITE )
111
113
draw_rectangle (get_screen_width () / 2 - 2 , 0 , 4 , get_screen_height (), LIGHTGRAY )
112
114
113
115
# end_drawing()
114
116
115
- unload_render_texture (screenCamera1 )
116
- unload_render_texture (screenCamera2 )
117
+ unload_render_texture (redPlayerScreenCamera )
118
+ unload_render_texture (bluePlayerScreenCamera )
117
119
118
120
close_window ()
119
121
0 commit comments