飞机大战-我方飞机移动基于事件

简介: 飞机大战-我方飞机移动基于事件。

相关代码如下:
import pygame
from pygame.locals import *

创建类,描述我机

class HeroPlane:

def __init__(self, scree):
    self.x = 190
    self.y = 576
    self.scree = scree
    self.image = pygame.image.load("./feiji/hero1.png")

# 用于显示飞机
def display(self):
    self.scree.blit(self.image, (self.x, self.y))  # 显示我机

# 飞机左移
def move_left(self):
    self.x -= 5

# 飞机右移
def move_right(self):
    self.x += 5

def key_control(hero):

# 获取事件,比如按键等
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')
            hero.move_left()

        # 检测按键是否是d或者right
        elif event.key == K_d or event.key == K_RIGHT:
            print('right')
            hero.move_right()

        # 检测按键是否是空格键
        elif event.key == K_SPACE:
            print('space')

def main():

# 1.创建一个窗口,用来显示内容,窗口宽480,高852
scree = pygame.display.set_mode((480, 700), 0, 32)

# 2.创建一个和窗口大小的图片,用来当背景图
background = pygame.image.load("./feiji/background.png")
# 创建我机
hero = HeroPlane(scree)  # 创建对象

# 3.把背景图放到窗口中显示
while True:
    # 设定需要显示的背景图
    scree.blit(background, (0, 0))  # 背景图的左上角,和窗口左上角重合
    # 显示我机
    hero.display()  # 对象调用方法
    key_control(hero)

    # 更新需要显示的内容
    pygame.display.update()

if name == 'main':
main()

相关文章
|
Python
飞机大战-显示敌机并发射子弹(6)
用Python语言编写显示敌机并发射子弹。
70 2
|
存储
飞机大战-飞机爆炸(8)
编写飞机大战,完成飞机爆炸功能。
77 0
|
Python
飞机大战-发射子弹(5)
用Python语言编写飞机大战,主要编写发射子弹。
84 0
|
5月前
|
定位技术 C++ Windows
第一人称射击游戏 C++控制台版(未完成)
第一人称射击游戏 C++控制台版(未完成)
第一人称射击游戏 C++控制台版(未完成)
|
5月前
|
图形学 开发者
【unity小技巧】两种办法解决FPS游戏枪或者人物穿墙穿模问题
【unity小技巧】两种办法解决FPS游戏枪或者人物穿墙穿模问题
232 0
|
5月前
|
前端开发 C语言 C++
每周一坑--打飞机游戏
每周一坑--打飞机游戏
|
Python
75 python - 打飞机案例(玩家飞机发射子弹)
75 python - 打飞机案例(玩家飞机发射子弹)
50 0
|
Python
飞机大战-显示我方飞机
用Python进行编写飞机大战,显示我方飞机。
61 0
【unity2D横板】【sunnyland】敌人巡逻追击主角以及返回原点
【unity2D横板】【sunnyland】敌人巡逻追击主角以及返回原点
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
69 0