python飞机大战素材黑马_Python基础day12飞机大战(上)
本帖最后由 小江哥 于 2019-1-19 11:38 編輯
飛機大戰代碼:搭建界面
9.png (51.37 KB, 下載次數: 5)
2019-1-19 11:31 上傳
[Python] 純文本查看 復制代碼#coding=utf-8
import pygame
'''
1. 搭建界面,主要完成窗口和背景圖的顯示
'''
def main():
#1. 創建一個窗口,用來顯示內容
screen = pygame.display.set_mode((480,852),0,32)
#2. 創建一個和窗口大小的圖片,用來充當背景
background = pygame.image.load("./feiji/background.png")
#3. 把背景圖片放到窗口中顯示
while True:
#設定需要顯示的背景圖
screen.blit(background,(0,0))
#更新需要顯示的內容
pygame.display.update()
if __name__ == "__main__":
main()
飛機大戰代碼:檢測鍵盤
[Python] 純文本查看 復制代碼#coding=utf-8
import pygame
from pygame.locals import *
'''
2. 用來檢測事件,比如按鍵操作
'''
def main():
#1. 創建一個窗口,用來顯示內容
screen = pygame.display.set_mode((480,852),0,32)
#2. 創建一個和窗口大小的圖片,用來充當背景
background = pygame.image.load("./feiji/background.png")
#3. 把背景圖片放到窗口中顯示
while True:
#設定需要顯示的背景圖
screen.blit(background,(0,0))
#獲取事件,比如按鍵等
for event in pygame.event.get():
#判斷是否是點擊了退出按鈕
if event.type == QUIT:
print("exit")
exit()
#判斷是否是按下了鍵
elif event.type == KEYDOWN:
#檢測按鍵是否是a或者left
if event.key == K_a or event.key == K_LEFT:
print('left')
#檢測按鍵是否是d或者right
elif event.key == K_d or event.key == K_RIGHT:
print('right')
#檢測按鍵是否是空格鍵
elif event.key == K_SPACE:
print('space')
#更新需要顯示的內容
pygame.display.update()
if __name__ == "__main__":
main()
飛機大戰代碼:顯示、控制玩具飛機-面向過程
10.png (52.42 KB, 下載次數: 10)
2019-1-19 11:33 上傳
[Python] 純文本查看 復制代碼#coding=utf-8
import pygame
from pygame.locals import *
'''
3. 使用面向過程的方式來顯示一個飛機,并控制其左右移動
'''
def main():
#1. 創建一個窗口,用來顯示內容
screen = pygame.display.set_mode((480,852),0,32)
#2. 創建一個和窗口大小的圖片,用來充當背景
background = pygame.image.load("./feiji/background.png")
#測試,用來創建一個玩家飛機的圖片
hero = pygame.image.load("./feiji/hero1.png")
#用來保存飛機的x,y坐標
x=0
y=0
#3. 把背景圖片放到窗口中顯示
while True:
screen.blit(background,(0,0))
#設定需要顯示的飛機圖片
screen.blit(hero,(x,y))
#判斷是否是點擊了退出按鈕
for event in pygame.event.get():
# print(event.type)
if event.type == QUIT:
print("exit")
exit()
elif event.type == KEYDOWN:
if event.key == K_a or event.key == K_LEFT:
print('left')
#控制飛機讓其向左移動
x-=5
elif event.key == K_d or event.key == K_RIGHT:
print('right')
#控制飛機讓其向右移動
x+=5
elif event.key == K_SPACE:
print('space')
pygame.display.update()
if __name__ == "__main__":
main()
[font="] 飛機大戰代碼:顯示、控制玩具飛機-面向對象
11.png (112.87 KB, 下載次數: 18)
2019-1-19 11:34 上傳
[Python] 純文本查看 復制代碼#coding=utf-8
import pygame
from pygame.locals import *
'''
4. 使用面向對象的方式顯示飛機,以及控制其左右移動
接下來要做的任務:
1. 實現飛機在你想要的位置顯示
2. 實現按鍵控制飛機移動
'''
class HeroPlane(object):
def __init__(self, screen):
#設置飛機默認的位置
self.x = 230
self.y = 700
#設置要顯示內容的窗口
self.screen = screen
#用來保存英雄飛機需要的圖片名字
self.imageName = "./feiji/hero1.png"
#根據名字生成飛機圖片
self.image = pygame.image.load(self.imageName)
def display(self):
self.screen.blit(self.image,(self.x,self.y))
def moveLeft(self):
self.x -= 10
def moveRight(self):
self.x += 10
def key_control(heroPlane):
#判斷是否是點擊了退出按鈕
for event in pygame.event.get():
# print(event.type)
if event.type == QUIT:
print("exit")
exit()
elif event.type == KEYDOWN:
if event.key == K_a or event.key == K_LEFT:
print('left')
heroPlane.moveLeft()
#控制飛機讓其向左移動
elif event.key == K_d or event.key == K_RIGHT:
print('right')
heroPlane.moveRight()
elif event.key == K_SPACE:
print('space')
def main():
#1. 創建一個窗口,用來顯示內容
screen = pygame.display.set_mode((480,852),0,32)
#2. 創建一個和窗口大小的圖片,用來充當背景
background = pygame.image.load("./feiji/background.png")
#3. 創建一個飛機對象
heroPlane = HeroPlane(screen)
#3. 把背景圖片放到窗口中顯示
while True:
screen.blit(background,(0,0))
heroPlane.display()
key_control(heroPlane)
pygame.display.update()
if __name__ == "__main__":
main()
飛機大戰代碼:玩家飛機發射子彈
[Python] 純文本查看 復制代碼#coding=utf-8
import pygame
from pygame.locals import *
'''
5. 實現玩家飛機發射子彈
接下來要做的任務:
1. 實現飛機在你想要的位置顯示
2. 實現按鍵控制飛機移動
3. 實現按下空格鍵的時候,顯示一顆子彈
'''
class HeroPlane(object):
def __init__(self,screen):
#設置飛機默認的位置
self.x = 230
self.y = 700
#設置要顯示內容的窗口
self.screen = screen
self.imageName = "./feiji/hero1.png"
self.image = pygame.image.load(self.imageName)
#用來存儲英雄飛機發射的所有子彈
self.bulletList = []
def display(self):
self.screen.blit(self.image,(self.x,self.y))
for bullet in self.bulletList:
bullet.display()#顯示一個子彈的位置
bullet.move()#讓這個子彈進行移動,下次再顯示的時候就會看到子彈在修改后的位置
def moveLeft(self):
self.x -= 10
def moveRight(self):
self.x += 10
def sheBullet(self):
newBullet = Bullet(self.x, self.y, self.screen)
self.bulletList.append(newBullet)
class Bullet(object):
def __init__(self,x,y,screen):
self.x = x+40
self.y = y-20
self.screen = screen
self.image = pygame.image.load("./feiji/bullet.png")
def move(self):
self.y -= 5
def display(self):
self.screen.blit(self.image,(self.x,self.y))
def key_control(heroPlane):
#判斷是否是點擊了退出按鈕
for event in pygame.event.get():
# print(event.type)
if event.type == QUIT:
print("exit")
exit()
elif event.type == KEYDOWN:
if event.key == K_a or event.key == K_LEFT:
print('left')
heroPlane.moveLeft()
#控制飛機讓其向左移動
elif event.key == K_d or event.key == K_RIGHT:
print('right')
heroPlane.moveRight()
elif event.key == K_SPACE:
print('space')
heroPlane.sheBullet()
def main():
#1. 創建一個窗口,用來顯示內容
screen = pygame.display.set_mode((480,852),0,32)
#2. 創建一個和窗口大小的圖片,用來充當背景
background = pygame.image.load("./feiji/background.png")
#3. 創建一個飛機對象
heroPlane = HeroPlane(screen)
#3. 把背景圖片放到窗口中顯示
while True:
screen.blit(background,(0,0))
heroPlane.display()
key_control(heroPlane)
pygame.display.update()
if __name__ == "__main__":
main()
總結
以上是生活随笔為你收集整理的python飞机大战素材黑马_Python基础day12飞机大战(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flask Sessions会话
- 下一篇: Python文件上传功能简单实现