pygame学习笔记3——实现简单动画

嗯,本节内容和C语言游戏开发中让小球在屏幕上运动的那里有一点相似。

这里我们尝试让矩形进行移动。


原理相似,增加一个x方向速度vx和y方向速度vy,每次更新都根据速度更新坐标,当撞到边界时反弹。

要注意最后的pos应该在里面一块更新,要不它不会动。

但是直接这么做,会发现这个方块实在是动的太快了。所以我们需要一个简单的延时器。在time库里面的sleep函数可以用来进行延时以拖慢方块移动速度,参数单位为毫秒。(效果还是相当明显的,就算延迟0.1毫秒,速度也会变得相当慢。。。。所以我写了0.001)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import pygame
import time
from pygame.locals import *
pygame.init();

screen = pygame.display.set_mode((740, 580))
pygame.display.set_caption("弹弹弹")

white = 255,255,255
blue = 65,105,225
green = 127,255,0
pos_x = 100
pos_y = 100
vx = 1
vy = 1
width = 0

while True:
for event in pygame.event.get():
if event.type in (QUIT, KEYDOWN):
sys.exit()
screen.fill(blue)
pos_x = pos_x + vx;
pos_y = pos_y + vy;
if pos_x > 640 or pos_x < 0:
vx = -vx;
if pos_y > 480 or pos_y < 0:
vy = -vy;
pos = pos_x,pos_y,100,100
pygame.draw.rect(screen,green,pos,width)
pygame.display.update()
time.sleep(0.001)

-------------本文结束,感谢您的阅读转载请注明原作者及出处-------------


本文标题:pygame学习笔记3——实现简单动画

文章作者:Shawn Zhou

发布时间:2019年03月06日 - 15:03

最后更新:2019年03月10日 - 09:03

原始链接:http://shawnzhou.xyz/2019/03/06/19-03-06-01/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

知识无价,码字不易。对您有用,敬请打赏。金额随意,感谢关心。
0%