examples: minor bounce.v improvements for the demo
							parent
							
								
									4571a5eb83
								
							
						
					
					
						commit
						0f0b6a0ccd
					
				|  | @ -21,22 +21,30 @@ mut: | ||||||
| 	draw_fn  voidptr | 	draw_fn  voidptr | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | const ( | ||||||
|  | 	window_width = 400 | ||||||
|  | 	window_height = 300 | ||||||
|  | 	width = 50 | ||||||
|  | 	red   = gx.rgb(255, 0, 0) | ||||||
|  | 	green = gx.rgb(0, 255, 0) | ||||||
|  | 	blue  = gx.rgb(0, 0, 255) | ||||||
|  | 	black = gx.rgb(0, 0, 0) | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| fn main() { | fn main() { | ||||||
| 	glfw.init_glfw() | 	glfw.init_glfw() | ||||||
| 	width := 600 |  | ||||||
| 	height := 300 |  | ||||||
| 	mut game := &Game{ | 	mut game := &Game{ | ||||||
| 		gg: 0 | 		gg: 0 | ||||||
| 		dx: 2 | 		dx: 2 | ||||||
| 		dy: 2 | 		dy: 2 | ||||||
| 		height: height | 		height: window_height | ||||||
| 		width: width | 		width: window_width | ||||||
| 		main_wnd: 0 | 		main_wnd: 0 | ||||||
| 		draw_fn: 0 | 		draw_fn: 0 | ||||||
| 	} | 	} | ||||||
| 	window := glfw.create_window(glfw.WinCfg{ | 	window := glfw.create_window(glfw.WinCfg{ | ||||||
| 		width: width | 		width: window_width | ||||||
| 		height: height | 		height: window_height | ||||||
| 		borderless: false | 		borderless: false | ||||||
| 		title: 'Hot code reloading demo' | 		title: 'Hot code reloading demo' | ||||||
| 		ptr: game | 		ptr: game | ||||||
|  | @ -47,8 +55,8 @@ fn main() { | ||||||
| 	window.make_context_current() | 	window.make_context_current() | ||||||
| 	gg.init_gg() | 	gg.init_gg() | ||||||
| 	game.gg = gg.new_context(gg.Cfg{ | 	game.gg = gg.new_context(gg.Cfg{ | ||||||
| 		width: width | 		width: window_width | ||||||
| 		height: height | 		height: window_height | ||||||
| 		font_size: 20 | 		font_size: 20 | ||||||
| 		use_ortho: true | 		use_ortho: true | ||||||
| 		window_user_ptr: 0 | 		window_user_ptr: 0 | ||||||
|  | @ -67,26 +75,18 @@ fn main() { | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const ( |  | ||||||
| 	width = 50 |  | ||||||
| 	red   = gx.rgb(255, 0, 0) |  | ||||||
| 	green = gx.rgb(0, 255, 0) |  | ||||||
| 	blue  = gx.rgb(0, 0, 255) |  | ||||||
| ) |  | ||||||
| 
 | 
 | ||||||
| // Try uncommenting or changing the lines inside the live functions.
 | // Try uncommenting or changing the lines inside the live functions.
 | ||||||
| // Guess what will happen:
 | // Guess what will happen:
 | ||||||
| [live] | [live] | ||||||
| fn (game &Game) draw() { | fn (game &Game) draw() { | ||||||
| 	game.gg.draw_rect(game.x, game.y, width, width, blue) | 	game.gg.draw_rect(game.x, game.y, width, width, blue) | ||||||
| 	game.gg.draw_rect(550 - game.x + 10, 200 - game.y + 50, width, width, gx.rgb(228, 10, 55)) | 	game.gg.draw_rect(window_width - width - game.x + 10, 200 - game.y + width, width, width, gx.rgb(228, 10, 55)) | ||||||
| 	game.gg.draw_rect(game.x - 25, 250 - game.y, width, width, gx.rgb(28, 240, 55)) | 	game.gg.draw_rect(game.x - 25, 250 - game.y, width, width, gx.rgb(28, 240, 55)) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| [live] | [live] | ||||||
| fn (mut game Game) update_model() { | fn (mut game Game) update_model() { | ||||||
| 	// game.x = 0 game.y = 0 game.dx = 1 game.dy = 1
 |  | ||||||
| 	// game.dx = 3 game.dy = 3
 |  | ||||||
| 	speed := 2 | 	speed := 2 | ||||||
| 	game.x += speed * game.dx | 	game.x += speed * game.dx | ||||||
| 	game.y += speed * game.dy | 	game.y += speed * game.dy | ||||||
|  | @ -102,6 +102,15 @@ fn (mut game Game) run() { | ||||||
| 	for { | 	for { | ||||||
| 		game.update_model() | 		game.update_model() | ||||||
| 		glfw.post_empty_event() // Refresh
 | 		glfw.post_empty_event() // Refresh
 | ||||||
| 		time.sleep_ms(17) | 		time.sleep_ms(17) // 60fps
 | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue