龙空技术网

用Python做个植物大战僵尸(第03天) #C语言

英雄哪里出来 17

前言:

如今姐妹们对“c语言03”可能比较看重,各位老铁们都需要分析一些“c语言03”的相关知识。那么小编在网络上收集了一些对于“c语言03””的相关内容,希望你们能喜欢,咱们一起来了解一下吧!

调用update函数,一个窗口就创建出来啦。

·第三题:

→第一步,窗口控件切到main文件,引入pygame模块对它进行初始化,创建一个1280x600的画布,点击运行。因为创建完窗口程序就结束了,所以才会有一闪一闪的效果。只需要加上一个死循环,处理一下退出的事件,在画布上涂上一点颜色,调用update函数,一个窗口就创建出来啦。

→第二步,图片加载,调用image模块的load接口传入一个路径就能加载图片了。找到图片路径填进去,生成image对象。最后调用画布的blit方法传入对象本身以及需要绘制的矩形位置,非常的完美。

这个课三天前刚出,2500+人购买都没人来提问的吗?遇到不会的点一定要来评论区提问。

·问题第三题:图片封装。在image.py实现一个图片类的封装,继承自官方提供的Sprite类传入一个路径参数,生成一个image对象,提供一个draw函数用来对image对象进行绘制。把之前两行代码注释掉,引入封装好的图片类,生成一个图片对象。然后在主循环中调用draw函数对图片进行绘制。

封装的好处就是系统提供的函数名记不住可以不记,自己提供的能记住就可以,非常的完美。

·问题第四题:图片缩放。想办法把这些空白的地方补齐,如果能够对图片作为简单的缩放,这个问题不就解决了嘛?这时候就可以用pygame的transform模块来完成。看下代码怎么写。

→将image的代码改掉,调用transform模块的scale函数传入一个大小size,size由调用方传进来就好啦。返回给image对象。

→最后在调用的地方传入窗口大小,让它铺满,运行。

这时候就会发现封装的好处又一次体现出来了。如果没有封装,每次需要一张指定大小的图片都要写这两行代码。封装完以后,只需要多传一个参数,封装真是太厉害啦!

·tp图片平行,传入一个pos参数,赋值给对象,提供一个getRect函数,根据函数通过image对象获取矩形,将pos的值传递给矩形左上角坐标,返回修改后的矩形,修改调用的地方,这样就可以修改图片的位置了,运行没什么问题。

·当然可以尝试让图片动起来,实现一个doLeft的接口,顾名思义就是让它往左走,直接将x坐标减一即可。但是元组不支持修改,所以这里强转成列表就好啦。在主循环中调用doLeft,运行。

·当然也可以创建一个僵尸出来,找到僵尸的图片路径,修改一下位置和大小参数,运行。怎么没有出来?忘记给它绘制出来了,有救函数,运行。

标签: #c语言03