08 2025 档案
摘要:加入敌机向下运动的代码: self.rect.topleft = [0, 0] x=random.randrange(1,Manager.bg_size[0],50) self.rect.topleft=[x,0] 加入创建敌机的计时: class Manager(object): bg_size 
        阅读全文
            
摘要:创建存放飞机子弹的组: #存放所有飞机子弹的组 bullets = pygame.sprite.Group() 在判断按下子弹的判断中加入存放飞机子弹组的代码: if key_pressed[K_SPACE]: # 按下空格键发射子弹 bullet = Bullet(self.screen, sel
        阅读全文
            
摘要:在Manager中加入文字函数: def drawText(self,text,x,y,textHeight=30,fontColor=(225,0,0),backgroudColor=None): # 通过字体文件获取字体对象 font_obj = pygame.font.Font('freesa
        阅读全文
            
摘要:飞机飞行时使地图移动可以让游戏看起来更加自然所以加入地图移动的操作: 将原本地图大小格式定义为数组方便后续操作: bg_size = (480,700) def __init__(self): # 创建窗口 self.screen = pygame.display.set_mode(Manager.
        阅读全文
            
摘要:# 定义碰撞的类 class Bomb(object): # 初始化碰撞 def __init__(self, screen, type): self.screen = screen if type == "enemy": # 加载爆炸资源 self.mImage = [pygame.image.l
        阅读全文
            
摘要:将main函数改为管理类函数 class Manager(object): def __init__(self): # 创建窗口 self.screen = pygame.display.set_mode((480, 700), 0, 32) # 创建背景图片 self.background = p
        阅读全文
            
摘要:通过切换图片做出动画效果: (需要引入多个图片进行操作) # 定义碰撞的类 class Bomb(object): # 初始化碰撞 def __init__(self,screen,type): self.screen = screen if type == "enemy": # 加载爆炸资源 se
        阅读全文
            
摘要:敌人优化后: # 引入敌方飞机的类 class Enemy(pygame.sprite.Sprite): def __init__(self, screen): # 调用继承精灵初始化方法 pygame.sprite.Sprite.__init__(self) # 引入图片创建敌人 self.ene
        阅读全文
            
摘要:为了实现碰撞消失的功能,使用继承精灵进行对玩家的优化 # 引入飞机的类 class Plane(pygame.sprite.Sprite): # 创建玩家的方法,引入screen模块 def __init__(self, screen): # 引入图片创建玩家 self.player = pygam
        阅读全文
            
摘要:定义音乐: # 定义音乐的类 class GameSound(object): def __init__(self): # 初始化主程序 pygame.mixer.init() # 引入背景音乐 pygame.mixer.music.load("./sound/game_music.ogg") # 
        阅读全文
            
摘要:引入敌人子弹: 算出敌人子弹出射点并在敌人出射点绘制子弹 # 引入敌人子弹的类 class EnemyBullet(object): def __init__(self, screen, x, y): # 定义坐标 self.x = x + 29 - 2 self.y = y + 43 # 引入子弹
        阅读全文
            
摘要:创建敌人的类: class Enemy(object): # 创建玩家的方法,引入screen模块 def __init__(self, screen): # 引入图片创建敌人 self.enemy = pygame.image.load("./images/enemy1.png") # 51*43
        阅读全文
            
摘要:创建子弹的类: # 引入子弹的类 class Bullet(object): def __init__(self,screen,x,y): # 定义坐标 self.x = x+51-2 self.y = y # 引入子弹图片 self.image = pygame.image.load("./ima
        阅读全文
            
摘要:玩家移动: 设置x,y坐标并新增按按钮时改变其坐标值 将绘制玩家及背景放入循环中操作玩家的坐标值 x = 179 y = 500 while True: # 绘制背景 screen.blit(background, (0, 0)) # 绘制玩家 screen.blit(player, (x, y))
        阅读全文
            
摘要:绘制玩家飞机: # 引入图片创建玩家 player = pygame.image.load("./images/me1.png") # 绘制玩家 screen.blit(player, (179, 500)) 控制飞机移动: 1.引入pygame中的所有方法 #引入pygame中的所有方法 from
        阅读全文
            
摘要:安装 pygame:1.按下“Win + R”键,输入“cmd”,然后按回车键,打开命令提示符窗口。在命令提示符中输入 python,然后按回车键,这将进入 Python 交互模式。 2.输入 pip install pygame 按回车键,执行 pygame 安装程序。安装完成后输入 import
        阅读全文
            
摘要:音效: 引入游戏背景音效和敌人爆炸的音效,并且使背景音乐单曲循环 # 新增 引入音效 pygame.mixer.music.load("game_music.ogg") # 新增 背景音单曲循环 pygame.mixer.music.play(-1) # 新增 添加敌人爆炸的音效 exp_sound
        阅读全文
            
摘要:定义击中的函数: 计算子弹与飞机之间的欧式距离,若该距离小于预设碰撞距离,则判定为击中敌人。 # 新增 欧式距离计算函数 def distance(bx,by,ex,ey): a = bx-ex b = by-ey # 新增 返回两者距离值 return (a**2+b**2)**0.5 # 新增
        阅读全文
            
摘要:定义子弹的类: 创建子弹时,通过设置子弹的初始位置坐标(与玩家的相对位置坐标)使子弹出现在玩家正上方 # 新增 定义子弹的类,其中包括图片(self.img)初始位置( self.x,self.y )运动速度(self.step) class Bullet: def __init__(self): 
        阅读全文
            
 
                    
                     
                    
                 
                    
                 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号