Skip to content

Commit f66e731

Browse files
committed
2.event_test/“
1 parent 68e8d78 commit f66e731

3 files changed

Lines changed: 73 additions & 0 deletions

File tree

python_game/2.event_test/1.1.jpg

112 KB
Loading
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#coding:utf-8
2+
import pygame
3+
from pygame.locals import *
4+
from sys import exit
5+
6+
background_image_filename = '1.1.jpg'
7+
8+
pygame.init()
9+
screen = pygame.display.set_mode((1280,800),0,32)
10+
background = pygame.image.load(background_image_filename).convert()
11+
#以上的请看前几篇的解释。
12+
x,y=0,0
13+
move_x ,move_y = 0,0
14+
15+
while True:
16+
for event in pygame.event.get():
17+
if event.type == QUIT:
18+
exit()
19+
if event.type == KEYDOWN:
20+
#开始检测,是否按键下面的很直观就是表现移动值
21+
if event.key == K_LEFT:
22+
move_x = -1
23+
elif event.key == K_RIGHT:
24+
move_x = 1
25+
elif event.key == K_UP:
26+
move_y = -1
27+
elif event.key == K_DOWN:
28+
move_y = 1
29+
elif event.type == KEYUP:
30+
move_x ,move_y = 0,0
31+
#这里很精妙了,因为把原文中的缩进提前,下面的五行都属于while中了,所以自然会一直的被捕捉到。
32+
x += move_x
33+
y += move_y
34+
35+
screen.fill((0,0,0))
36+
screen.blit(background,(x,y))
37+
pygame.display.update()
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#coding:utf-8
2+
import pygame
3+
from pygame.locals import *
4+
from sys import exit
5+
6+
pygame.init()
7+
screen_size = (1280,800)
8+
9+
screen = pygame.display.set_mode(screen_size, 0 ,32)
10+
#初始化屏幕,大小1280*800,不使用特殊,32色。
11+
font = pygame.font.SysFont("arial",16);
12+
font_height = font.get_linesize()
13+
event_text = []
14+
#调用系统字体,获取行高的数值,建立一个列表用来存放事件
15+
16+
while True:
17+
18+
event = pygame.event.wait()
19+
event_text.append(str(event))
20+
#建立事件等待,获取到就转换成字符串给列表。
21+
event_text = event_text[-screen_size[1]/font_height:]
22+
#切片处理,暂时还没有领悟,大概作用是一次只保留屏幕所能显示的那部分
23+
if event.type == QUIT:
24+
exit()
25+
26+
screen.fill((0,0,0))
27+
#设置背景色,0,0,0就是全黑
28+
y = screen_size[1]-font_height
29+
30+
for text in reversed(event_text):
31+
screen.blit(font.render(text,True,(0,255,0)),(0,y))
32+
33+
y -= font_height
34+
#这里是打印出所有事件。
35+
pygame.display.update()
36+

0 commit comments

Comments
 (0)