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

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

相关代码如下:
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()

相关文章
|
9月前
|
Python
飞机大战-显示敌机并发射子弹(6)
用Python语言编写显示敌机并发射子弹。
47 2
|
9月前
|
Python
飞机大战-发射子弹(5)
用Python语言编写飞机大战,主要编写发射子弹。
51 0
|
9月前
|
存储
飞机大战-飞机爆炸(8)
编写飞机大战,完成飞机爆炸功能。
26 0
|
15天前
|
前端开发 C语言 C++
每周一坑--打飞机游戏
每周一坑--打飞机游戏
|
7月前
|
Python
75 python - 打飞机案例(玩家飞机发射子弹)
75 python - 打飞机案例(玩家飞机发射子弹)
35 0
|
9月前
|
Python
飞机大战-显示我方飞机
用Python进行编写飞机大战,显示我方飞机。
36 0
你也能做个羊了个羊游戏3:卡牌拾取和删除
羊了个羊游戏第二关过不去?不如自己通过学习动手做一个第二关能够闯过去的羊游戏~ 欢迎点赞分享,鼓励小蚂蚁继续创作。
57 0
摇杆控制移动自动瞄准射击如何实现?
前言 这篇教程实现了射击游戏中的摇杆控制移动以及自动瞄准射击功能,并提供一个示例项目的模版。
103 0
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
55 0
Threejs实现开门关门动画
Threejs实现开门关门动画
611 0
Threejs实现开门关门动画