pygame小游戏打飞机_2模块显示
加入游戏背景
通过 pygame.image.load 函数引入背景图片,赋值给变量 bgImg
调用 screen.bilt 函数绘制背景图
# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,700))
# 设置标题
pygame.display.set_caption('打飞机')
# 引入图片
icon=pygame.image.load('ufo.png')
# 设置游戏图标
pygame.display.set_icon(icon)
# 新增 引入背景图片
bgImg=pygame.image.load('background.png')
running =True
# 进行循环 游戏主循环
while running :
# 绘制背景图
screen.blit(bgImg,(0,0))
# 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
for event in pygame.event.get():
# 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
if event.type == pygame.QUIT:
# 退出循环
running =False
# 新增 界面更新
pygame.display.update()
加入背景后的界面

显示玩家
与加入背景同理,不同的是增加两个表示位置的变量用于定位玩家位置
# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,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
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
# 界面更新
pygame.display.update()
运行结果如下

移动玩家飞机
通过判断语句控制边界
可以在游戏主循环中对 playerX 或 playerY 执行 += 或 -= 运算进行移动测试,确定控制边界的语句是否有效
# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,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
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
# 新增 位移调试
playerX += 1
# playerX -= 1
# 新增 控制边界
if playerX > 378:
playerX = 378
if playerX < 0:
playerX = 0
if playerY > 572:
playerY = 572
if playerY < 0:
playerY = 0
# 界面更新
pygame.display.update()
测试时玩家移动且有边界阻挡则成功
pygame小游戏打飞机_2模块显示的更多相关文章
- 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)
微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...
- 微信小游戏 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. ...
- 微信小游戏 demo 飞机大战 代码分析 (一)(game.js, main.js)
微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...
- Python小游戏之 - 飞机大战美女 !
用Python写的"飞机大战美女"小游戏 源代码如下: # coding=utf-8 import os import random import pygame # 用一个常量来存 ...
- pygame小游戏之坦克大战
以前在学校的时候无聊的学了会pygame.看了大概一周的教学视频,做出来个坦克大战的小游戏 Python3.5 pycharm import pygame,sys,time from random ...
- 微信demo小游戏:飞机大战从无到有
微信demo游戏飞机大战从无到有 现在创建新项目会默认给飞机大战的demo,这里给大家从基础开始讲解游戏的从无到有是怎么实现的. 具体实现步骤: 创建背景图->背景图运动起来->创建飞机并 ...
- Python小游戏之 - 飞机大战 !
用Python写的"飞机大战"小游戏 源代码如下: # coding=utf-8 import random import os import pygame # 用一个常量来存储屏 ...
- Pygame小游戏练习五
@Python编程从入门到实践 Python项目练习 十一.显示游戏得分及最高分 创建新类Scoreboard,用以显示得分和最高分. # scoreboard.py import pygame.fo ...
- Pygame小游戏练习四
@Python编程从入门到实践 Python项目练习 九.添加Play按钮 一.创建Button类 先让游戏一开始为非活动状态 # game_stats.py # --snip-- self.game ...
随机推荐
- Redundant Connection——LeetCode进阶路
原题链接https://leetcode.com/problems/redundant-connection/ 题目描述 In this problem, a tree is an undirecte ...
- minikube dashboard ImagePullBackOff 失败问题的解决方法
问题 通过minikube启动k8s集群后,我们想安装启动k8s的dashboard插件,执行minikube dashboard后,一直卡住直到提示验证失败. 查看pod状态,我们看到kuberne ...
- React-Native开发鸿蒙NEXT-cookie设置
React-Native开发鸿蒙NEXT-cookie设置 应用有个积分商城,做一些积分兑换的业务,就一个基于react-native-webview开发的页面,在页面加载的时候通过js注入来设置co ...
- Mimikatz 常用命令
以肉去蚁蚁愈多,以鱼驱蝇蝇愈至. 导航 1 工具介绍 2 基本用法 2.1 执行方式 2.2 帮助命令 3 模块用法 3.1 Standard 模块 3.2 Privilege 模块 3.3 Toke ...
- Mac 终端下svn常用命令的使用
svn基本的操作流程 刚刚进入一个新的公司,让我接手一个正在进行的项目,我打开终端写下了:svn co svn://192.168.1.1/pro/domain 然后就可以在当前目录里面找到一个叫do ...
- HNU FPGA课设项目上手指南
1.介绍 本文章旨在帮助HNU的同学更优雅的完成数电的FPGA课设(使用DE2-115),文章将涉及完成FPGA项目需要掌握的知识,资源分享以及一些关于完成项目的经验指导.大家快快搬好小板凳,准备发车 ...
- Oracle DBA必备工具:自动调整重做日志文件大小和数量
我们的文章会在微信公众号Oracle恢复实录和博客网站(www.htz.pw)同步更新 ,欢迎关注收藏.也欢迎大家转载,但请在文章开始处标注文章出处,谢谢! 由于博客中包含大量代码,建议通过网页浏览以 ...
- ArrayList与LinkedList的增删改查
ArrayList: 1 package com.lv.study.am.first; 2 3 //ArrayList 有下标 可重复 有序(添加到集合里面的顺序)不等于排序 4 5 6 import ...
- Ceph对象存储集群常用操作
一.常用操作 1.1 查看某个bucket详情 # 查看bucket列表 [root@oss001 ~]# radosgw-admin bucket list [ "awss3e68c588 ...
- 激活Windows系统的便捷方法【小白友好】
如下图,点击任务栏上的搜索栏,输入 powershell ,然后点击以管理员运行. 2.点击以管理员运行后,会打开如下窗口: 3.复制下列命令粘贴到powershell窗口注意,[一定要复制不要手动输 ...