- 帖子
- 2
- 精华
- 0
- 积分
- 8
- 阅读权限
- 10
- 注册时间
- 2015-10-1
- 最后登录
- 2015-10-12
|
# -*- coding: utf-8 -*-
import pygame
from pygame import *
from sys import exit
import random
class Plane(object):
def __init__(self):
self.image = pygame.image.load('plane.png').convert_alpha()
self.width = self.image.get_width()
self.height = self.image.get_height()
self.x = 225 - self.width / 2
self.y = 700 - self.height / 2
def move(self):
mouseX, mouseY = pygame.mouse.get_pos()
self.x = mouseX - self.width / 2
self.y = mouseY - self.height / 2
class Bullet(object):
def __init__(self):
self.x = 0
self.y = -1
self.image = pygame.image.load('bullet.png').convert_alpha()
self.width = self.image.get_width()
self.height = self.image.get_height()
def move(self):
if self.y < 0:
mouseX, mouseY = pygame.mouse.get_pos()
self.x = mouseX - self.width / 2
self.y = mouseY - self.height / 2
else:
self.y -= 8
class Enemy(object):
def restart(self):
self.x = random.randint(50, 400)
self.y = random.randint(-200, -50)
self.speed = random.random() + 0.1
def __init__(self):
self.restart()
self.image = pygame.image.load('enemy.png').convert_alpha()
def move(self):
if self.y < 800:
self.y += self.speed
else:
self.restart()
pygame.init()
screen = pygame.display.set_mode((450, 800), 0, 32)
pygame.display.set_caption("@Shoot__Plane@")
background = pygame.image.load('back.jpg').convert()
bullet = Bullet()
enemy = Enemy()
plane = Plane()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
screen.blit(background,( 0,0))
bullet.move()
screen.blit(bullet.image, (bullet.x, bullet.y))
enemy.move()
screen.blit(enemy.image, (enemy.x, enemy.y))
screen.blit(plane.image, (plane.x, plane.y))
plane.move()
pygame.display.update()
请教一下老师,我把 #plane.move()注释掉以后,发现我的飞机确实初始化在我想要的屏幕中间下方的位置,不知道为啥不注释的时候每次程序运行飞机都在屏幕最左上方。 |
|