温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用python做游戏

发布时间:2021-04-27 11:19:48 来源:亿速云 阅读:138 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关如何使用python做游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

PyGame是一个Python的库,能够让你更容易的写出一个游戏。它提供的功能包括图片处理和声音重放的功能,并且它们能很容易的整合进你的游戏里。去官网点击这里下载适合你的PyGame安装包。

1 .创建游戏框架以及游戏背景

#这个模块放一些常用的工具和基础类和精灵类 #在其他模块调用 import pygame import random #设置游戏屏幕大小 这是一个常量 SCREEN_RECT = pygame.Rect(0,0,580,700) #敌机的定时器事件常量 CREATE_ENEMY_EVENT = pygame.USEREVENT   #定制一个精灵类,需要继承pygame提供的精灵类 #需要定义的属性有: #image图片  #rect坐标 #speed速度   #接下来开始写敌机方面的内容 产生敌机 #先定义一个事件常量 CREATE_ENEMY_EVENT = pygame.USEREVENT #我们还可以定义一个事件常量(发射子弹) HERO_FIRE_EVENT = pygame.USEREVENT + 1   class GameSprite(pygame.sprite.Sprite):   def __init__(self,new_image,new_speed=1):     super().__init__()     #图片     self.image = pygame.image.load(new_image)     #速度     self.speed = new_speed     #位置 获取图片的宽和高 get_rect()(0,0,宽,高)     self.rect = self.image.get_rect()     #精灵移动的速度 包括英雄精灵 背景精灵 敌机精灵 子弹精灵     self.speed = new_speed     def update(self):     #默认垂直方向移动 y轴控制垂直方向     self.rect.y += self.speed     #self.rect.x += 1 #以上是游戏的基础类,接下来设置背景类 #明确背景类继承自游戏的精灵类 class Background(GameSprite):   def __init__(self,is_alt = False):     #is_alt判断是否为另一张图像     #False表示第一张图像     #Ture表示另外一张图像     #两张图像交替循环     #传图片     super().__init__("/home/zhangyuan/下载/beijing.png")     if is_alt:       #如果是第二张图片 初始位置为-self.rect.height       self.rect.y = -self.rect.height   #def __init__(self,new_image):   #  super().init__(new_image)   def update(self):     #调用父类方法     super().update()     if self.rect.y >= SCREEN_RECT.height:       self.rect.y = -self.rect.height

2 .创建敌机精灵

class Enemy(GameSprite):   def __init__(self):     super().__init__("/home/zhangyuan/images/enemy1.png")   #随机速度   self.speed = random.randint(10, 15)   #设置敌机的初始位置   self.rect.left = SCREEN_RECT.width   max_ = SCREEN_RECT.height -self.rect.height   self.rect.bottom = random.randint(0, max_)   def update(self):       panduan = random.randint(0, 1)   if panduan == 0:     self.rect.y -= self.speed     self.rect.x -= self.speed   else:     self.rect.y += self.speed     self.rect.x -= self.speed   #判断敌机是否飞出屏幕 如果飞出屏幕将敌机从精灵组删除   if self.rect.y >= SCREEN_RECT.height or self.rect.right <=0 or self.rect.bottom <=0:     self.kill()

3 .创建英雄精灵

class Bullet(GameSprite):       def __init__(self):       super().__init__("/home/zhangyuan/images/bullet1.png",-5)     def update(self):       super().update()      #判断是否超出屏幕 如果是 从精灵组删除    if self.rect.bottom < 0:      self.kill()

5 .碰撞检测

#第一个参数和第二个参数是要参与碰撞检测的精灵 #第三个参数为Ture的时候 就是当碰撞的时候被碰撞的精灵从精灵组移除 pygame.sprite.groupcollide( self.enemy_group,self.hero.bullet, True, True)#子弹 #判断列表时候有内容   if len(enemies)>0:     #让英雄牺牲     self.hero.kill()     #结束游戏     PlaneGame.__game_over() @staticmethod def __game_over():   print("游戏结束")   #这是pygame提供的卸载模块功能   pygame.quit()   #这是pygame本身提供的退出脚本的功能   exit()   #需要先卸载pygame模块 然后退出脚本     if __name__ == "__main__":    game = PlaneGame()    game.star_game()

感谢各位的阅读!关于“如何使用python做游戏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI