| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 添加飞船图像:创建ship类与在屏幕上绘制飞船 -> 正文阅读 |
|
[游戏开发]添加飞船图像:创建ship类与在屏幕上绘制飞船 |
现在我们可以在屏幕上添加新的元素了,比如飞船,那么肯定要有飞船的图像、大小、等等,我们或许要设置两种飞船比如外星飞船或我方飞船,那么这就需要创建一个ship类来进行定义。 添加飞船图像????????下面将飞船加入游戏中。为了在屏幕上绘制玩家的飞船,我们将加载一幅图像,再使用Pygame方法blit( )绘制它。 ? ? ? ? ?在游戏中,我们可以使用所认识的许多类型的图像文件,但是使用位图(.bmp格式)文件最为简单,因为Pygame默认加载位图。虽然可配置Pygame以使用其他文件类型,但有些文件类型要求你在计算机上安装相应的图像库。 ? ? ? ? 选择图像时,我们要特别注意背景色。请尽可能选择背景为透明或者与图片颜色兼容的图像,便于使用图像编辑器将其背景替换为任意颜色。 ? ? ? ? 在我们游戏《飞机大战》中,可以使用某bmp图片,该文件需要我们在项目文件夹中新建一个名为images的文件夹并且放入以便于我们使用。 ?创建ship类? ? ? ? 选择用于表示飞船的图像后,我们需要将其显示到屏幕上。我们创建一个名为ship的模块,其中包含Ship类,负责管理飞船的大部分行为。
? ? ? ? Pygame之所以高效,是因为它让你能够像处理矩形(rect对象)一样处理所有的游戏元素,即便其形状并非矩形。像处理矩形一样处理游戏元素之所以高校,是因为矩形是简单的几何形状。 ? ? ? ? 例如,通过将游戏元素视为矩形,Pygame能够更快的判断出它们是否发生了碰撞。 ? ? ? ? 定义这个类之前,我们导入了模块pygame。ship的方法__init__( )接受两个参数:引入self和指向当前AlienInvasion实例的引用。折让ship能够访问AlienInvasion?中定义的所有的游戏资源。 ? ? ? ? self.screen定义赋予(self.screen = ai_game.screen处)了ship的一个属性,以便于在这个类的所有方法中轻松访问。 ? ? ? ? 以下将会介绍上述代码所用到的方法: Pygame.surface模块1.1rect属性可以参考本人的另外一篇文章:Pygame中rect的参数属性讲解——两分钟学会它 1.2get_rect( )方法可以参考本人的另外一篇文章:Pygame中get_rect( )方法——一首歌的时间学会 1.3blit()方法可以参考本人的另外一篇文章:pygame中blit方法 在屏幕上绘制飞船下面更新alien_invasion.py,创建一艘飞船并且调用其方法blitme( ):
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:26:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |