python大飞机游戏设计思路_pygame开发打飞机游戏代码

– coding:utf-8 –

import pygame

from pygame.locals import * # 引入pygame中的所有常量。例如:事件类型、键和视频模式等的名字

from sys import exit

import random

SCREEN_WIDTH = 480

SCREEN_HEIGHT = 800

子弹类

class Bullet(pygame.sprite.Sprite):

def init(self, bullet_img, init_pos):

pygame.sprite.Sprite.init(self)

self.image = bullet_img

self.rect = self.image.get_rect()

self.rect.midbottom = init_pos

self.speed = 10

def move(self):

self.rect.top -= self.speed

玩家类

”’

1.pygame.sprite.Sprite是可见游戏对象的一个基类,Player从父类中继承属性和方法。

self.image这个负责显示什么

self.rect负责在哪里显示

2.”sprite”,中文翻译”精灵”,在游戏动画一般是指一个独立运动的画面元素,在pygame中,

就可以是一个带有图像(Surface)和大小位置(Rect)的对象。

3.pygame.Rect用于存储直角坐标的pygame对象

4.pygame.sprite.Group用于保存和管理多个Sprite对象的容器类。

5.subsurface创建一个引用其父级的新surface

”’

class Player(pygame.sprite.Sprite):

def init(self, plane_img, player_rect, init_pos):

pygame.sprite.Sprite.init(self) # 调用父类(Sprite)构造函数

self.image = [] # 用来存储玩家飞机图片的列表

for i in range(len(player_rect)):

self.image.append(plane_img.subsurface(player_rect[i]).convert_alpha())

self.rect = player_rect[0] # 初始化图片所在的矩形

self.rect.topleft = init_pos # 初始化矩形的左上角坐标

self.speed = 8 # 初始化玩家速度,这里是一个确定的值

self.bullets = pygame.sprite.Group() # 玩家飞机所发射的子弹的集合

self.img_index = 0 # 玩家飞机图片索引

self.is_hit = False # 玩家是否被击中

发射子弹

def shoot(self, bullet_img):

bullet = Bullet(bullet_img, self.rect.midtop)

self.bullets.add(bullet)

向上移动需要判断边界

def moveUp(self):

if self.rect.top

Original: https://blog.csdn.net/weixin_42169971/article/details/114423950
Author: 空气安全讲堂
Title: python大飞机游戏设计思路_pygame开发打飞机游戏代码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782923/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球