import pygame
from pygame.locals import *
import time
class HeroPlane(object):
def __init__(self, screen_temp):
self.x=210
self.y=600
self.image=pygame.image.load('./feiji/hero1.png')
self.screen=screen_temp
self.bullet_list=[]
def display(self):
self.screen.blit(self.image,(self.x,self.y))
for bullet in self.bullet_list:
bullet.display()
bullet.move()
def move_fire(self):
for event in pygame.event.get():
if event.type==QUIT:
print('exit')
exit()
elif event.type==KEYDOWN:
if event.key==K_a or event.key==K_LEFT:
print('left')
self.x-=10
elif event.key==K_d or event.key==K_RIGHT:
print('rignt')
self.x+=10
elif event.key==K_w or event.key==K_UP:
print('up')
self.y-=10
elif event.key==K_s or event.key==K_DOWN:
print('down')
self.y+=10
elif event.key==K_SPACE:
self.bullet_list.append(Bullet(self.screen,self.x,self.y))
print('space')
class EnemyPlane(object):
def __init__(self, screen_temp):
self.x=0
self.y=0
self.image=pygame.image.load('./feiji/enemy0.png')
self.screen=screen_temp
self.direction='right'
#self.bullet_list=[]
def display(self):
self.screen.blit(self.image,(self.x,self.y))
def move(self):
if self.x<0:
self.direction=='right'
elif self.x>200:
self.direction=='left'
if self.direction=='right':
self.x+=5
elif self.direction=='left':
self.x-=5
class Bullet(object):
def __init__(self, screen_temp,x,y):
self.x=x+40
self.y=y-20
self.image=pygame.image.load('./feiji/bullet.png')
self.screen=screen_temp
def display(self):
self.screen.blit(self.image,(self.x,self.y))
def move(self):
self.y-=20
def main():
screen=pygame.display.set_mode((480,752),0,32)
background=pygame.image.load('./feiji/background.png')
hero=HeroPlane(screen)
enemy=EnemyPlane(screen)
while True:
screen.blit(background,(0,0))
hero.display()
enemy.display()
enemy.move()
pygame.display.update()
hero.move_fire()
time.sleep(0.05)
#if x>400:
#exit()
if __name__=='__main__':
main()
敌机会一直往右走,不会回头。方向参数我也设置了,为什么会这样
应该是