青少年编程-Python之pygame使用秘诀第三篇

四步骤:

  初始化    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账户。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值