手把手带你入python坑小游戏-微信打飞机(7)

继续搞起

文字图形都ok

这该来重点啦..

加载图片

pygame 加载图片比交简单

话不多说

直接上代码

这里在程序住循环中

通过pygame 的image.load 方法加载 图片为对象

通过transform 进行缩放 调整大小

最后进行位置绘制

效果如下

下面是一些对于图片的其他操作做拓展

创建Surface对象

>>>a = pygame.Surface((256,256))

1

这个Surface对象是全黑的。除了大小外,Surface函数还有flags和depth两个参数。

alpha_surface = pygame.Surface((256,256), flags=SRCALPHA, depth=32)

1

转换Surfaces

convert(): 当一个surface多次使用blit时,最好使用convert。转换后的surface没有alpha。

convert_alpha(): change the pixel format of an image including per pixel alphas.

矩形对象(Rectangle Objects)

pygame中有Rect类,用来存储和处理矩形对象(包含在pygame.locals)中。

Rect(left, top, width, height)

Rect((left, top), (width, height))

有了Rect对象之后,可以对其做很多操作,例如调整大小、位置,判断一个点是否在其中等。

剪裁(Clipping)

surface中有裁剪区域(clip area),

是一个矩形,定义了哪部分会被绘制,

即若定义了这个区域,只有这个区域内的像素会被修改。

set_clip(screen_rect=None): 设定区域,当参数为None时,重置。一个surface对象默认的剪裁区域为这个surface。

get_clip() : 得到剪裁区域,返回一个Rect对象。

当然让这一个图片显示到屏幕上居然这么多行代码

老套路我们自定义一个方法搞定

主程序调用

这样就方便多了

不过我们的图片只是图片还不能动

那我们继续让他动起来

所谓动画的实现方式

就是时时的改变

这里实现让小飞机往下飞也就是y坐标增大

效果.. 没弄动图 看不出来...

红色箭头指示的飞机是从上面移动下来的

若想改变飞机的移动速度

可以调整累加值

再设置坐标前与steep(速度)做运算即可

效果图就不上了不是动图看不出来

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180703G0OGHH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券