pygame小游戏打飞机_3键盘事件
键盘事件
通过判断键盘按下的方向键执行位移指令
# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen = pygame.display.set_mode((480, 700))
# 设置标题
pygame.display.set_caption('打飞机')
# 引入图片
icon = pygame.image.load('ufo.png')
pygame.display.set_icon(icon)
# 引入背景图片
bgImg = pygame.image.load('background.png')
# 引入玩家图片
playerImg = pygame.image.load('player.png')
# 定义玩家初始位置
playerX = 225
playerY = 350
# 新增 定义变量表示运动距离
playerStep = 0
running = True
# 进行循环 游戏主循环
while running:
# 绘制背景
screen.blit(bgImg, (0, 0))
# 绘制玩家
screen.blit(playerImg, (playerX, playerY))
# 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
for event in pygame.event.get():
# 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
if event.type == pygame.QUIT:
# 退出循环
running = False
# 新增 KEYDOWN判断键盘按下的类型
if event.type == pygame.KEYDOWN:
# 新增 判断按下向左右键进行移动赋值
if event.key == pygame.K_RIGHT:
playerStep = 1
elif event.key == pygame.K_LEFT:
playerStep = -1
# 新增 KEYUP判断键盘抬起的类型
if event.type == pygame.KEYUP:
# 新增 抬起键盘时将移动距离改为0
playerStep = 0
# 新增 进行位移
playerX += playerStep
# 控制边界
if playerX > 378:
playerX = 378
if playerX < 0:
playerX = 0
if playerY > 572:
playerY = 572
if playerY < 0:
playerY = 0
# 界面更新
pygame.display.update()
如下所示当按方向键(左、右)能控制飞机移动则成功

pygame小游戏打飞机_3键盘事件的更多相关文章
- 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)
微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...
- 微信小游戏 demo 飞机大战 代码分析 (一)(game.js, main.js)
微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...
- 微信小游戏 demo 飞机大战 代码分析 (三)(spirit.js, animation.js)
微信小游戏 demo 飞机大战 代码分析(三)(spirit.js, animation.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码 ...
- 微信小游戏 demo 飞机大战 代码分析 (二)(databus.js)
微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...
- Python小游戏之 - 飞机大战美女 !
用Python写的"飞机大战美女"小游戏 源代码如下: # coding=utf-8 import os import random import pygame # 用一个常量来存 ...
- Python小游戏之 - 飞机大战 !
用Python写的"飞机大战"小游戏 源代码如下: # coding=utf-8 import random import os import pygame # 用一个常量来存储屏 ...
- pygame小游戏之坦克大战
以前在学校的时候无聊的学了会pygame.看了大概一周的教学视频,做出来个坦克大战的小游戏 Python3.5 pycharm import pygame,sys,time from random ...
- 微信demo小游戏:飞机大战从无到有
微信demo游戏飞机大战从无到有 现在创建新项目会默认给飞机大战的demo,这里给大家从基础开始讲解游戏的从无到有是怎么实现的. 具体实现步骤: 创建背景图->背景图运动起来->创建飞机并 ...
- Pygame小游戏练习二
@Python编程从入门到实践 Python项目练习 四.创建Ship类 建立ship.py,创建Ship类,管理飞船行为. # ship.py import pygame class Ship(): ...
- Pygame小游戏练习一
@Python编程从入门到实践 Python项目练习 一.安装Python包Pygame 通过pip安装包工具安装 python3 -m pip --version #查看是否安装pip 确定安装pi ...
随机推荐
- PyPI 使用的国内源
通过几次 pip 的使用,对于默认的 pip 源的速度实在无法忍受,于是便搜集了一些国内的pip源,如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大 ...
- 创建字符串对象的六种方法(java)
package javaBasic; public class StringConstruction { public static void main(String[] args) { String ...
- Median of Two Sorted Arrays---LeetCode进阶路④
题目描述 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...
- 【Spring Boot】ActiveMQ 发布/订阅消息模式介绍
本文在<Spring Boot 整合 JMS(Active MQ 实现)>的基础上,介绍如何使用ActiveMQ的发布/订阅消息模式.发布/订阅消息模式是消息发送者发送消息到主题(topi ...
- MySQL Explain查看执行计划详解
目录 前言 EXPLAIN 中的列 id 和select_type table type possible_keys key 和 key_len ref 和 rows Extra 小结 Referen ...
- Windows下配置pip指定下载源具体操作步骤
前言 pip官方源有时候较为不稳定,对于国内用户来说,一个好的镜像源能够提高生产力.再加上有的公司和行业较为严格,无法访问互联网,所以通过配置内网的源就变成了必需的技能,本文同样适用于公司内网源的搭建 ...
- MySQL中用户及权限管理(mysql8.0版本)
概述 在MySQL中,用户与权限管理属于关键的安全机制,能让你对数据库的访问进行精准控制 MySQL用户管理 创建用户信息 语法 CREATE USER username@'host' IDENTIF ...
- cosbench工具使用方法
一.Cosbench工具介绍 cosbench是intel开源的针对对象存储开发的测试工具 二.Cosbench安装 运行环境: 这里我们的系统是Centos7.6 依赖软件: JDK nmap-nc ...
- ORA-01555系列:一、ORA-01555错误的本质与原理
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效 ...
- 在 django-ninja 中实现类似腾讯阿里云的应用鉴权机制
前言 本文章介绍如何使用基于 AppClient 模型的 Django-Ninja API 鉴权机制. 这也是上次说的中台项目衍生物 中台项目相关的文章,我大概还会再写一篇 这个系列的文章注定是没什么 ...