實現的步驟:
一、窗口及設置
1 # 使用pygame操控鍵盤,通過鍵盤來操控角色
2 """
3 1、窗口 4 2、角色-方塊 5 3、邏輯 6 """
7 # 引入庫
8 import pygame as p 9 # 初始化
10 p.init() 11 # 窗體的尺寸
12 screen_width,screen_height = 600,600
13 screen = p.display.set_mode((screen_width,screen_height)) 14 p.display.set_caption("灰灰老師") 15 run = True 16 # 循環
17 while run: 18 # 防止CPU占用太多,延遲執行。
19 p.time.delay(25) 20 # 點叉叉的時候關閉窗口
21 for event in p.event.get(): 22 # QUIT 退出
23 if event.type == p.QUIT: 24 run = False 25
26 # 屏幕的底色
27 screen.fill((0,0,0)) 28
29 # 更新屏幕
30 p.display.update()
二、畫出方塊
1 ... 2 x,y,width,height,speed = 100,100,50,50,15 # 方塊的屬性
3 ... 4 # 循環
5 while run: 6 ..... 7 # 屏幕的底色
8 screen.fill((0,0,0)) 9 # 角色-畫在哪里,顏色,方塊的位置和尺寸
10 p.draw.rect(screen,(255,0,0),(x,y,width,height)) 11
12 # 更新屏幕
13 p.display.update()
三、監聽鍵盤,獲取當前按下的方向鍵,並且控制方塊移動
1 # 使用pygame操控鍵盤,通過鍵盤來操控角色
2 """
3 1、窗口 4 2、角色-方塊 5 3、邏輯 6 """
7 # 引入庫
8 import pygame as p 9 # 初始化
10 p.init() 11 # 窗體的尺寸
12 screen_width,screen_height = 600,600
13 screen = p.display.set_mode((screen_width,screen_height)) 14 p.display.set_caption("灰灰老師") 15 run = True 16 x,y,width,height,speed = 100,100,50,50,15 # 方塊的屬性
17 # 循環
18 while run: 19 # 防止CPU占用太多,延遲執行。
20 p.time.delay(25) 21 # 點叉叉的時候關閉窗口
22 for event in p.event.get(): 23 # QUIT 退出
24 if event.type == p.QUIT: 25 run = False 26
27 # 獲取全鍵監聽
28 keys = p.key.get_pressed() 29 # 判斷具體按下的是哪一個鍵位
30 if keys[p.K_RIGHT]: 31 x += speed 32 if keys[p.K_LEFT]: 33 x -= speed 34 if keys[p.K_UP]: 35 y -= speed 36 if keys[p.K_DOWN]: 37 y += speed 38
39 # 屏幕的底色
40 screen.fill((0,0,0)) 41 # 角色-畫在哪里,顏色,方塊的位置和尺寸
42 p.draw.rect(screen,(255,0,0),(x,y,width,height)) 43
44 # 更新屏幕
45 p.display.update()
四、邊界判斷
1 # 使用pygame操控鍵盤,通過鍵盤來操控角色
2 """
3 1、窗口 4 2、角色-方塊 5 3、邏輯 6 """
7 # 引入庫
8 import pygame as p 9 ... 10 # 循環
11 while run: 12 # 防止CPU占用太多,延遲執行。
13 p.time.delay(25) 14 # 點叉叉的時候關閉窗口
15 for event in p.event.get(): 16 # QUIT 退出
17 if event.type == p.QUIT: 18 run = False 19
20 ... 21 # 邊界檢查
22 # 左右
23 if x < 0: 24 x = 0 25 if x + width >= screen_width: 26 x = screen_width - width 27 # 上下
28 if y < 0: 29 y = 0 30 if y + height >= screen_height: 31 y = screen_height - height 32
33 # 屏幕的底色
34 screen.fill((0,0,0)) 35 # 角色-畫在哪里,顏色,方塊的位置和尺寸
36 p.draw.rect(screen,(255,0,0),(x,y,width,height)) 37
38 # 更新屏幕
39 p.display.update()
五、完整代碼
1 # 使用pygame操控鍵盤,通過鍵盤來操控角色
2 """
3 1、窗口 4 2、角色-方塊 5 3、邏輯 6 """
7 # 引入庫
8 import pygame as p 9 # 初始化
10 p.init() 11 # 窗體的尺寸
12 screen_width,screen_height = 600,600
13 screen = p.display.set_mode((screen_width,screen_height)) 14 p.display.set_caption("灰灰老師") 15 run = True 16 x,y,width,height,speed = 100,100,50,50,15 # 方塊的屬性
17
18 # 循環
19 while run: 20 # 防止CPU占用太多,延遲執行。
21 p.time.delay(25) 22 # 點叉叉的時候關閉窗口
23 for event in p.event.get(): 24 # QUIT 退出
25 if event.type == p.QUIT: 26 run = False 27
28 # 獲取全鍵監聽
29 keys = p.key.get_pressed() 30 # 判斷具體按下的是哪一個鍵位
31 if keys[p.K_RIGHT]: 32 x += speed 33 if keys[p.K_LEFT]: 34 x -= speed 35 if keys[p.K_UP]: 36 y -= speed 37 if keys[p.K_DOWN]: 38 y += speed 39 # 邊界檢查
40 # 左右
41 if x < 0: 42 x = 0 43 if x + width >= screen_width: 44 x = screen_width - width 45 # 上下
46 if y < 0: 47 y = 0 48 if y + height >= screen_height: 49 y = screen_height - height 50
51
52 # 任務一:畫兩個方塊,上下左右控制第一個方塊,wasd控制第二個方塊
53 # 屏幕的底色
54 screen.fill((0,0,0)) 55 # 角色-畫在哪里,顏色,方塊的位置和尺寸
56 p.draw.rect(screen,(255,0,0),(x,y,width,height)) 57
58 # 更新屏幕
59 p.display.update()
六、升級
# 升級任務:畫兩個方塊,上下左右控制第一個方塊,wasd控制第二個方塊。