- 帖子
- 1
- 精华
- 0
- 积分
- 10
- 阅读权限
- 10
- 注册时间
- 2018-4-2
- 最后登录
- 2018-4-10
|
请问老师:我这样为什么不会有子弹发射出去呀?感觉问题出在bullet.move()里面,但是一用bullet.active就没有子弹了- import pygame
- from sys import exit
- from alien import Alien
- from random import randint
- from random import random
- class Alien:
- def restart(self):
- self.x = randint(50,350)
- self.y = randint(-200,-50)
- self.speed = random()+1
- def __init__(self):
- self.restart()
- self.image = pygame.image.load('image/alien.bmp')
- def move(self):
- if self.y < 700:
- self.y += self.speed
- else:
- self.restart()
- class Bullet():
- def __init__(self):
- self.x = 0
- self.y = 0
- self.image = pygame.image.load('image/bullet.bmp')
- self.active = False
- def restart(self):
- self.active = True
- (mouse_x,mouse_y) = pygame.mouse.get_pos()
- self.x = mouse_x - self.image.get_width()/2
- self.y = mouse_y - self.image.get_height()/2
- def move(self):
- if self.active == True:
- self.y -= 5
- if self.y <0:
- self.active = False
- pygame.init()
- screen = pygame.display.set_mode((400,700))
- pygame.display.set_caption('打飞机')
- background = pygame.image.load('image/bg.bmp')
- ship = pygame.image.load('image/ship.bmp')
- bullet = Bullet()
- alien = Alien()
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- exit()
- if event.type == pygame.MOUSEBUTTONDOWN:
- background = pygame.image.load('image/bg2.bmp')
- (x,y) = pygame.mouse.get_pos()
- x -= (ship.get_width()/2)
- y -= (ship.get_width()/2)
- bullet.move()
- alien.move()
- screen.blit(background,(0,0))
- screen.blit(ship,(x,y))
- screen.blit(bullet.image,(bullet.x,bullet.y))
- screen.blit(alien.image,(alien.x,alien.y))
- pygame.display.update()
复制代码 |
|