加入游戏背景

通过 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模块显示的更多相关文章

  1. 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)

    微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...

  2. 微信小游戏 demo 飞机大战 代码分析 (三)(spirit.js, animation.js)

    微信小游戏 demo 飞机大战 代码分析(三)(spirit.js, animation.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码 ...

  3. 微信小游戏 demo 飞机大战 代码分析 (二)(databus.js)

    微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  4. 微信小游戏 demo 飞机大战 代码分析 (一)(game.js, main.js)

    微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  5. Python小游戏之 - 飞机大战美女 !

    用Python写的"飞机大战美女"小游戏 源代码如下: # coding=utf-8 import os import random import pygame # 用一个常量来存 ...

  6. pygame小游戏之坦克大战

    以前在学校的时候无聊的学了会pygame.看了大概一周的教学视频,做出来个坦克大战的小游戏 Python3.5  pycharm import pygame,sys,time from random ...

  7. 微信demo小游戏:飞机大战从无到有

    微信demo游戏飞机大战从无到有 现在创建新项目会默认给飞机大战的demo,这里给大家从基础开始讲解游戏的从无到有是怎么实现的. 具体实现步骤: 创建背景图->背景图运动起来->创建飞机并 ...

  8. Python小游戏之 - 飞机大战 !

    用Python写的"飞机大战"小游戏 源代码如下: # coding=utf-8 import random import os import pygame # 用一个常量来存储屏 ...

  9. Pygame小游戏练习五

    @Python编程从入门到实践 Python项目练习 十一.显示游戏得分及最高分 创建新类Scoreboard,用以显示得分和最高分. # scoreboard.py import pygame.fo ...

  10. Pygame小游戏练习四

    @Python编程从入门到实践 Python项目练习 九.添加Play按钮 一.创建Button类 先让游戏一开始为非活动状态 # game_stats.py # --snip-- self.game ...

随机推荐

  1. Redundant Connection——LeetCode进阶路

    原题链接https://leetcode.com/problems/redundant-connection/ 题目描述 In this problem, a tree is an undirecte ...

  2. minikube dashboard ImagePullBackOff 失败问题的解决方法

    问题 通过minikube启动k8s集群后,我们想安装启动k8s的dashboard插件,执行minikube dashboard后,一直卡住直到提示验证失败. 查看pod状态,我们看到kuberne ...

  3. React-Native开发鸿蒙NEXT-cookie设置

    React-Native开发鸿蒙NEXT-cookie设置 应用有个积分商城,做一些积分兑换的业务,就一个基于react-native-webview开发的页面,在页面加载的时候通过js注入来设置co ...

  4. Mimikatz 常用命令

    以肉去蚁蚁愈多,以鱼驱蝇蝇愈至. 导航 1 工具介绍 2 基本用法 2.1 执行方式 2.2 帮助命令 3 模块用法 3.1 Standard 模块 3.2 Privilege 模块 3.3 Toke ...

  5. Mac 终端下svn常用命令的使用

    svn基本的操作流程 刚刚进入一个新的公司,让我接手一个正在进行的项目,我打开终端写下了:svn co svn://192.168.1.1/pro/domain 然后就可以在当前目录里面找到一个叫do ...

  6. HNU FPGA课设项目上手指南

    1.介绍 本文章旨在帮助HNU的同学更优雅的完成数电的FPGA课设(使用DE2-115),文章将涉及完成FPGA项目需要掌握的知识,资源分享以及一些关于完成项目的经验指导.大家快快搬好小板凳,准备发车 ...

  7. Oracle DBA必备工具:自动调整重做日志文件大小和数量

    我们的文章会在微信公众号Oracle恢复实录和博客网站(www.htz.pw)同步更新 ,欢迎关注收藏.也欢迎大家转载,但请在文章开始处标注文章出处,谢谢! 由于博客中包含大量代码,建议通过网页浏览以 ...

  8. ArrayList与LinkedList的增删改查

    ArrayList: 1 package com.lv.study.am.first; 2 3 //ArrayList 有下标 可重复 有序(添加到集合里面的顺序)不等于排序 4 5 6 import ...

  9. Ceph对象存储集群常用操作

    一.常用操作 1.1 查看某个bucket详情 # 查看bucket列表 [root@oss001 ~]# radosgw-admin bucket list [ "awss3e68c588 ...

  10. 激活Windows系统的便捷方法【小白友好】

    如下图,点击任务栏上的搜索栏,输入 powershell ,然后点击以管理员运行. 2.点击以管理员运行后,会打开如下窗口: 3.复制下列命令粘贴到powershell窗口注意,[一定要复制不要手动输 ...