1.开发软件
pycharm | 编程软件 | |
pygame | 第三方库 | |
sprite | sprite代表游戏中非背景的一个动图,比如人物、子弹、 |
|
Group | group代表多个sprite一组被同时管理,比如头、身、手、脚组合成一个大怪.. |
2.技术介绍
pycharm:PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
pygame:Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows、Linux、Mac OS 等操作系统,具有良好的跨平台性。Pygame 由 Pete Shinners 于 2000 年开发而成,是一款免费、开源的的软件包,因此您可以放心地使用它来开发游戏,它是免费的,是制作小游戏的不二首选。
Pygame 在 SDL(Simple DirectMedia Layer,使用 C语言编写的多媒体开发库) 的基础上开发而成,它提供了诸多操作模块,比如图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等。相比于开发 3D 游戏而言,Pygame 更擅长开发 2D 游戏,比如于飞机大战、贪吃蛇、扫雷等游戏。
话不多说,开整
3.游戏制作-------(部分代码)
导入需要的第三方库,不管做什么先做一个一个基本规划,我管这个叫重构。
import pygame, os
import time
import random
from pygame.sprite import Sprite
from pygame.sprite import Group
设置背景音乐(也可以自行调节)
def fire_music():
pass
# 设置开火音乐
effect = pygame.mixer.Sound('sounds/fire.wav')
pygame.mixer.Sound.play(effect)
总体游戏构造(需要提前准备好场景设置的图片音乐字体)
class Boss(Sprite):
def __init__(self,boss_img_name):
super().__init__()
# 加载BOSS图片
self.image = pygame.image.load('图片/'+boss_img_name+'.png').convert_alpha()
# 转换BOSS大小
# self.image = pygame.transform.scale(self.image, (1, 12))
# 生成BOSS矩形框架
self.rect = self.image.get_rect()
self.blood = 1000
# boss左右移动的速度
self.speed = 3.5
def move(self):
if self.rect.centerx>=512:
self.speed =-self.speed
if self.rect.centerx<=0:
self.speed = -self.speed
self.rect.centerx +=self.speed
class Enemy(Sprite):
def __init__(self,screen):
# 必须设置继承精灵 不然在使用精灵函数时会报错
super().__init__()
# 获取屏幕对象
self.screen = screen
# 随机 生成5个编号
alien_num = random.randint(1,5)
# 随机 加载五个飞机中的某个
self.image = pygame.image.load('图片/alien_' + str(alien_num) + '.png')
# picture = pygame.transform.scale(picture, (1280, 720))
self.image = pygame.transform.scale(self.image,(62,62))
# 获取飞机的 rect
self.rect = self.image.get_rect()
# 击落本机获得的分数
self.score = 10
# 加载子弹的图片
self.bullet_img = pygame.image.load("图片/alien_bullet.png").convert_alpha()
self.bullet_img = pygame.transform.scale(self.bullet_img, (12, 12))
# 以下为可以调节子弹尺寸的代码
# picture = pygame.transform.scale(picture, (1280, 720))
#飞机的移动速度
self.speed = random.randint(3,5)
#生成子弹精灵组合
self.bullets = Group()
# 敌机射击频率
self.shoot_frequency = 0
5.总体效果展示文章来源:https://www.toymoban.com/news/detail-527620.html
文章来源地址https://www.toymoban.com/news/detail-527620.html
到了这里,关于python---简单游戏制作(飞机大战)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!