四步骤:
初始化 pygame.init()
设置屏幕的宽和高 screen=pygame.display.set_mode()
设置标题 pygame.display.set_caption()
刷新屏幕 pygame.display.update() 注意:让画面动起来需要添加screen.fill()
代码示例:
import pygame
import time
pygame.init()
ball=0
screen=pygame.display.set_mode((700,500))
pygame.display.set_caption("plane")
while True:
screen.fill((0,0,0))#黑色背景
pygame.draw.circle(screen,(100,40,30),(ball,100),30,0)
ball+=1
pygame.time.delay(10)#用延迟来控制速度
pygame.display.update()
控制物体移动速度方法二:继承该类pygame.sprite.Sprite后调用self.speed()方法。
Sprite精灵类用于图片动画功能,使用步骤总结:
设置图片尺寸 self.image=pygame.Surface([w,h])
设置图片颜色self.image.fill(color)
设置画在屏幕的尺寸self.rect=self.image.get_rect()
使用精灵集合m=pygame.sptite.Group()
使用集合方法:m.add(子弹等对象)
m.draw(screen)渲染到屏幕,出现图片
思考题:
1、飞机大战游戏中,飞机动画和子弹动画如何关联起来呢?点击发射按钮就马上发射子弹,如何实现呢?
2、如何让一个飞机图片的不同姿态出现动画连续性?
进一步参考示例代码如下:
player_rect = []
player_rect.append(pygame.Rect(0, 99, 102, 126)) # 玩家飞机图片1
player_rect.append(pygame.Rect(165, 360, 102, 126)) # 玩家飞机图片2
self.image = [] # 用来存储玩家飞机图片的列表
for i in range(len(player_rect)):
self.image.append(plane_img.subsurface(player_rect[i]).convert_alpha())
self.rect = player_rect[0] # 初始化图片所在的矩形
self.rect.topleft = init_pos # 初始化矩形的左上角坐标
我的前一篇分享内容也不错哦,也许对你有益:
https://zhuanlan.zhihu.com/p/62794804
欢迎大家回复讨论!
如果你想联系我,可以添加我的微信,如果你考虑为你或你的孩子在编程学习方面的建议也可以咨询!我也可以授课帮助你。
微信号:F2010212900
觉得这篇文章对你有益处,也可以小额支持,作者会继续发出新的文章回馈大家!
使用paypal:打开该网址paypal.me/luozixi 随你便输入一个数字,哈哈哈 当然你需要有paypal账户。