您现在的位置是:首页 > 玩家福利

Pygame精灵游戏 #游戏

掌游情报站 2024-11-23【玩家福利】214人已围观

简介Pygame精灵组。本节课谈一谈Pygame的精灵组。设计一个简单的游戏,假设在屏幕中央有很多飞机,战斗机fighteraircraft,中间有一个子弹,这个子弹根据鼠标的移动也进行移动,当子弹与飞机进行接触的时候飞机会自动消失。这样的效果该怎么设计?在正式设置之前来说一下战斗机fighterair...

Pygame精灵组。

本节课谈一谈Pygame的精灵组。设计一个简单的游戏,假设在屏幕中央有很多飞机,战斗机fighteraircraft,中间有一个子弹,这个子弹根据鼠标的移动也进行移动,当子弹与飞机进行接触的时候飞机会自动消失。这样的效果该怎么设计?

在正式设置之前来说一下战斗机fighteraircraftaremilitaryaircraftdesignedprimarilyforairtoaircombatinmilitaryconflict,theroleoffighteraircraftistoestablishairsuperiorityofthebattlespacedominationoftheairspaceaboveabetterfieldpermitsbumpersandattackaircrafttoengageintacticalandstrategicalbumblingofenemytargets。

这段话的含义是战斗机是军事飞机,主要被设计用于空对空战斗。在军事冲突里战斗机的角色是建立空中优先权制空权,在战斗区域上方空间的领地允许barber有轰炸机和attackaircraft攻击机去执行战略或策略轰炸针对敌机目标。

现在进行代码讲解,先运行一下代码,看一下代码运行的效果。可以看到屏幕上的飞机,当鼠标移动小方块子弹的时候,接触飞机的时候飞机会自动消失。这样的一种效果该怎么去设计?讲一下代码。

·首先今天要使用一个新的库random库,通过这个库随机生成的坐标,屏幕的宽度和高度。介绍第一个类就是战斗机类叫fighter,它继承于Pygame的sprite精灵类。

·在这里主要重点讲一下设计一个境界内有两个关键的变量,一个是selfimage,另一个是selfrect,一个是图像,一个是坐标,这两个名字也不能改变。这里主要载入一个飞机图片,图片的大小切换成三十乘三十,得到它的坐标。这是fighter战斗机。

·下面这个子弹主要是用一个小方块来替代它,小方块就画一个长度和宽度,给它位置填充一个颜色,得到它的坐标就好了。这是两个类,这两个类相对来说比较简单。

·接下来重点介绍一下初始化Pygame,创建一个屏幕,需要创建两个组,一个组是战斗机组,因为在屏幕上显示很多战斗机,这里有一个战斗机组。

·再设置一个总组,这个总组是装所有的精灵,生产一百台战斗机,每一台战斗机都是通过fighter来进行试炼化。让它的中心xy的中心在random的范围,主要是实物宽度范围和高度范围进行均步分布。

·接着需要将战斗机添加到战斗机的列表阻力,把它也判战斗机添加到总的列表阻力,这就是生产一百台战斗机的过程。

·接着设计一个时钟比较简单,实力画一个子弹,因为只有一个子弹,只实力画一个就好了,需要把子弹也添加到总的组里。这是两种角色。

·接着代码就是事件处理,首先把屏幕刷成死干blue蓝天,获取鼠标的坐标,将鼠标的坐标复制给子弹的中心就好了。

·然后定一个撞击的列表来判断子弹和战斗机列表是否碰撞,如果碰撞了它们,这里是触就会消失,就会将战斗机消失掉。

·然后将所有的组里面的成员画到屏幕上,这样子弹和一百个战斗机都会画到屏幕上。

·然后进行刷新控制时钟,控制帧频。

这样代码就设计完毕,再运行一下,看一下最终的结果。可以看一下就是这样的效果。

谢谢大家,今天主要讲解了拍game的精灵类,可以使用类来设计角色,让角色在屏幕上进行展示。这样设计的好处就会使用一种封装的功能来实现角色的一些剧情运动。在后面的游戏设计中主要使用类来进行设计,尽量使代码更加惊艳,理解起来更加容易。

很赞哦!(99)