子弹类
import pygame # pygame2d游戲
import time
from pygame.locals import *class HeroPlane(object):def __init__(self,screen_temp):self.x=210self.y=700self.screen=screen_tempself.image= pygame.image.load("./feiji/hero1.png")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_left(self):self.x-=5def move_right(self):self.x+=5def fire(self):self.bullet_list.append(Bullet(self.screen,self.x,self.y))class Bullet(object):def __init__(self,screen_temp,x,y):self.x = x+40self.y = y-20self.screen = screen_tempself.image = pygame.image.load("./feiji/bullet.png")def display(self):self.screen.blit(self.image,(self.x,self.y))def move(self):self.y-=20def key_control(herotemp):for event in pygame.event.get(): # 11if event.type == QUIT: # 按下叉號print("exit")exit() # 退出程序,循環結束是breakelif event.type == KEYDOWN: # 按下鍵盤鍵if event.key == K_a or event.key == K_LEFT:print("left")herotemp.move_left()elif event.key == K_d or event.key == K_RIGHT:print("right")herotemp.move_right()elif event.key == K_SPACE:print("space")herotemp.fire()
def main(): # 01screen = pygame.display.set_mode((480, 852), 0, 32) # 1窗口background = pygame.image.load("./feiji/background.png") # 2背景hero = HeroPlane(screen)while True: # 5死循環,一直重復screen.blit(background, (0, 0)) # 3背景貼到窗口00處
hero.display()pygame.display.update() # 4顯示貼的效果
key_control(hero)time.sleep(0.01) # 6電腦配置不高的話,內存占用會很大,所以延時顯示可以減少內存消耗if __name__ == '__main__': # 0main()
?
轉載于:https://www.cnblogs.com/wfl9310/p/9214227.html
總結
- 上一篇: linux设备驱动程序之时钟管理
- 下一篇: Z-Blog 爬虫 node实现