代码拉取完成,页面将自动刷新
同步操作将从 barryjie/飞机大战小游戏 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
# @Author : Sdite
# @DateTime : 2017-07-26 17:56:37
import pygame
from random import *
# 两种随机道具补给
# 子弹供应
class Bullet_Supply(pygame.sprite.Sprite): # 定义一个超级子弹的补给类
"""docstring for Bullet_Supply"""
def __init__(self, bg_size): #初始化
super(Bullet_Supply, self).__init__()
self.image = pygame.image.load('images/bullet_supply.png').convert_alpha() # 加载图片
self.rect = self.image.get_rect() # 图像大小
self.width, self.height = bg_size[0], bg_size[1]
self.rect.left, self.rect.bottom = \
randint(0, self.width - self.rect.width), -100
""" y轴方向用self.rect.bottom 而不是平常经常用的top,变成了左下角的坐标,让它初始化的时候就在界面上方大概100个像素的位置,直接往下扔,
要扔补给的时候会发出一个提示音效,所以我们在一个平均高度往下扔即可,即botton=-100,
补给包出现的水平方向是随机的:从0到屏幕的宽度减去补给包本身的宽度"""
self.speed = 5 # 设置速度
self.active = False # 是否显示?默认情况下不开启
self.mask = pygame.mask.from_surface(self.image) #碰撞检测
def move(self): # 补给包向下移动
if self.rect.top < self.height:
self.rect.top += self.speed
else:
self.active = False
def reset(self): # 重新刷新位置
self.active = True
self.rect.left, self.rect.bottom = \
randint(0, self.width - self.rect.width), -100
# 炸弹供应 类似于子弹供应
class Bomb_Supply(pygame.sprite.Sprite):
"""docstring for Bomb_Supply"""
def __init__(self, bg_size):
super(Bomb_Supply, self).__init__()
self.image = pygame.image.load('images/bomb_supply.png').convert_alpha()
self.rect = self.image.get_rect()
self.width, self.height = bg_size[0], bg_size[1]
self.rect.left, self.rect.bottom = \
randint(0, self.width - self.rect.width), -100
self.speed = 5
self.active = False
self.mask = pygame.mask.from_surface(self.image)
def move(self):
if self.rect.top < self.height:
self.rect.top += self.speed
else:
self.active = False
def reset(self):
self.active = True
self.rect.left, self.rect.bottom = \
randint(0, self.width - self.rect.width), -100
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。