python制作跳跃的小球

这篇具有很好参考价值的文章主要介绍了python制作跳跃的小球。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

11.1.安装pygame库

pip install pygame

11.2.加载模块初始化

import sys
import  pygame

pygame.init()   #初始化pygame

11.3.创建窗口

  • 作用:创建游戏窗口
  • 常见的内置方法:
方法 作用
pygame.dispaly. init() 初始化display

pygame.dispaly. quit()

结束display模块
pygame.dispaly. get_init() 判断是否初始化
pygame.dispaly. get.surface() 获取当前surface对象
pygame.dispaly. flip() 更新显示
pygame.dispaly. update() 更新部分内容显示到屏幕
pygame.dispaly. set_mode() 初始化一个准备显示的界面
import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640*800
screen=pygame.display.set_mode(size)    #显示窗口

上述程序运行,会出现一个一闪而过的黑色窗口,原因是执行会立即关闭,若要一直显示,应使用循环显示的手段来实现

import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640,800
screen=pygame.display.set_mode(size)    #显示窗口

#执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    #检查事件显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()

上述代码中,添加了轮询事件,pygame.even.get()可以获取事件队列,使用for....in遍历事件,再根据type属性判断事件类型是否属于关闭事件

11.4.添加小球

11.4.1.image模块

  • 作用:pygame图像传输模块
  • 常用方法:
方法 作用
pygame.image.load()  从文件加载图片
pygame.image. save() 将图片保存到磁盘
pygame.image. get_extended() 检查是否支持载入扩展的图像格式
pygame.image. tostring() 将图像转为字符串
pygame.image. fromstring() 将字符串转为图像
  • 支持的图片格式:jpg,png,gif,bmp,pcx等
  • 注意:当一个图像成功载入会转为surface对象,该对象允许二次

11.5.处理surface对象

11.5.1.image.load()方法加载图片后返回一个surface对象,其就是表示图片,可以二次处理如:涂画、变形、赋值等操作

11.5.2.常用方法:

方法

作用

pygame.Surface. blit() 将图像绘制到另一个图像上
pygame.Surface. convert() 转为像素格式
pygame.Surface. fill() 使用颜色填充区域
pygame.Surface. get_rect() 获取surface对象的矩形区域
import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640,800
screen=pygame.display.set_mode(size)    #显示窗口
color=(0,0,0)   #设置颜色

ball=pygame.image.load('ball.png')  #加载小球图片,但不现实
ballrect=ball.get_rect()    #获取矩形区域,其实就会小球图片所占区域,只不过没有内容

#执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    #检查事件显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.fill(color)
    screen.blit(ball,ballrect)  #将ball图片填到屏幕矩形区域上
    pygame.display.flip()

11.6.移动小球

11.6.1.小球ball移动使用move()方法,move(x,y)表示x轴和y轴的移动距离,左上角(0,0),可设置move(5,5)

import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640,800
screen=pygame.display.set_mode(size)    #显示窗口
color=(0,0,0)   #设置颜色

ball=pygame.image.load('ball.png')  #加载小球图片,但不现实
ballrect=ball.get_rect()    #获取矩形区域,其实就会小球图片所占区域,只不过没有内容

#执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    #检查事件显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()
    ballrect=ballrect.move(5,5)

    screen.fill(color)
    screen.blit(ball,ballrect)  #将ball图片填到屏幕矩形区域上
    pygame.display.flip()   #刷新显示

11.6.2.上例程序发现小球移动太快,一闪而过,原因试运行时间太短了,导致肉眼观察出现错觉,因此需要设计一个时钟来控制程序运行事件

11.6.3.pygame.time模块

import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640,800
screen=pygame.display.set_mode(size)    #显示窗口
color=(0,0,0)   #设置颜色

ball=pygame.image.load('ball.gif')  #加载小球图片,但不现实
ballrect=ball.get_rect()    #获取矩形区域,其实就会小球图片所占区域,只不过没有内容
clock=pygame.time.Clock()   #创建时钟

#执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    clock.tick(60)  #更新时钟,每秒60次
    #检查事件显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()
    ballrect=ballrect.move(5,5)

    screen.fill(color)
    screen.blit(ball,ballrect)  #将ball图片填到屏幕矩形区域上
    pygame.display.flip()   #刷新显示
  • 作用:监控时间模块
  • 常用方法:
方法 作用
pygame.time. get_ticks() 获取以毫秒为单位的时间
pygame.time. wait() 暂停执行一段时间
pygame.time. set_timer() 在事件队列上重复创建一个事件
pygame.time. Clock() 创建一个对象来帮助跟踪时间

11.7.碰撞检测

上例中小球移动后消失,表示移动到窗口之外,所以需要增加碰撞检测,即小球与窗体任意一边的边缘发生碰撞了则更改小球的移动方向文章来源地址https://www.toymoban.com/news/detail-437159.html

import sys
import pygame

pygame.init()   #初始化pygame

size=width,height=640,800
screen=pygame.display.set_mode(size)    #显示窗口
color=(0,0,0)   #设置颜色

ball=pygame.image.load('ball.gif')  #加载小球图片,但不现实
ballrect=ball.get_rect()    #获取矩形区域,其实就会小球图片所占区域,只不过没有内容
clock=pygame.time.Clock()   #创建时钟
speed=[5,5]     #设置移动的x、y轴


#执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    clock.tick(60)  #更新时钟,每秒60次
    #检查事件显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()

    ballrect=ballrect.move(speed)   #小球循环移动

    if ballrect.left<0 or ballrect.right>width: #左右边缘检测
        speed[0]=-speed[0]
    if ballrect.top<0 or ballrect.bottom>height:    #上下边缘检测
        speed[1]=-speed[1]


    screen.fill(color)
    screen.blit(ball,ballrect)  #将ball图片填到屏幕矩形区域上
    pygame.display.flip()   #刷新显示

到了这里,关于python制作跳跃的小球的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 突发情况2-Python 3.11.0 安装pygame提示error: subprocess-exited-with-error

    1.pip3 install pygame 后 报错提示: 2.翻了各种文章后理解可能为版本不兼容导致 pygame公测版无法在高python版本下安装 于是使用 pygame的体验版即可 pip3 install pygame --pre 3.参考文献 :https://stackoverflow.com/questions/64311396/pygame-no-setup-file-exists-running-buildconfig-config-py 中评论: 9 I had the

    2024年02月02日
    浏览(44)
  • pip install pygame安装报错解决方案

    针对pip install pygame安装报错的两种不同的解决方法: 一: 若python中 已经安装好了pip ,但pip install pygame却报错的话,可以尝试以下步骤: (1)开始,输入cmd (2)pip install wheel (3)pip install pygame 二: 另一种出现错误的原因是版本问题,此时下载pygame会出现以下警告:  针对

    2024年02月11日
    浏览(34)
  • 标题:解决Python中pip install错误:SyntaxError: 语法无效pygame

    在Python开发中,使用pip工具来安装第三方库是一种常见的方式。然而,有时候在执行pip install命令时,可能会遇到一些错误。其中之一是\\\"SyntaxError: 语法无效\\\"的错误,特别是在安装pygame库时经常出现。本文将向您介绍解决这个错误的方法。 在解决此错误之前,请确保您的Pyt

    2024年02月03日
    浏览(31)
  • Python学习之pygame模块介绍并制作代码雨

    对Python游戏有所了解的朋友都知道,在2D的游戏制作中,经常会用到一个模块pygame,他能帮助我们实现很多方便使用的功能,例如绘制窗口,反馈键盘鼠标信息,播放音频文件,渲染图片文字等等功能。 今天咱们通过pygame模块实现一个代码雨的简单示例,顺便讲解下子模块中

    2024年02月10日
    浏览(48)
  • 【python】 pygame学习示例 --飞机大战小游戏制作

    python版本:3.8.5 所需模块:pygame random os pygame版本:20.1 开发环境:pycharm专业版 硬件环境:win11 8G内存以上 使用python的第三方库–pygame 制作飞机大战小游戏 小游戏的内容包括: 玩家player的移动 子弹的发射 陨石的随机掉落(包括旋转 大小 下落角度) 玩家 子弹 陨石的碰撞交互

    2024年02月04日
    浏览(43)
  • 使用 Python 和 Pygame 制作游戏:第一章到第五章

    原文: inventwithpython.com/pygame/chapter1.html 译者:飞龙 协议:CC BY-NC-SA 4.0 在阅读本书之前,如果您了解一些 Python 编程知识(或者知道如何使用 Python 之外的其他语言进行编程),可能会有所帮助;但是即使您没有,您仍然可以阅读本书。编程并不像人们想象的那么难。如果您遇

    2024年01月17日
    浏览(54)
  • 使用 Python 和 Pygame 制作游戏:第九章到第十章

    原文: inventwithpython.com/pygame/chapter9.html 译者:飞龙 协议:CC BY-NC-SA 4.0           推星星是 Sokoban 或“箱子推动者”的克隆。玩家位于一个房间,里面有几颗星星。房间中的一些瓷砖精灵上有星星标记。玩家必须想办法将星星推到有星星标记的瓷砖上。如果墙壁或其他星星

    2024年01月22日
    浏览(56)
  • Unity制作 小球吃金币 游戏

    工程源文件下载地址-百度网盘 1. 新建一个项目 2. 新建一个平面对象 3. 新建一个材质球 为材质球设置颜色 5. 将材质球拖拽赋值给平面 6.  创建立方体对象,拉伸至平面宽度 7. 再复制三个立方体、调整位置、添加材质,用四个调整过的立方体将平面围起来 8. 创建一个球体(

    2024年01月15日
    浏览(35)
  • unity——小球酷跑游戏制作

    所有变量与物体名的命名原则都是见名知意 一、创建一个unity项目 二、Create所需3Dobject 1.Player 2.walls 三、添加属性 : 1.添加在Player上 a.添加Rigidbody组件 b.添加new script组件,并命名为PlayMove,代码如下: 2.添加到walls上 a.首先create empty将wall包含 b.在Wall上添加new script组件,代码

    2023年04月24日
    浏览(31)
  • Python 程序员过中秋Python+pygame 制作拼图小游戏(附源码:5源码)

    Python 程序员过中秋Python+pygame 制作拼图小游戏(附源码:5源码) 又是一年中秋至一花好月 圆夜,佳文当共鉴。Python+ pygame制作拼图小游戏; 制作一个自己的拼图小游戏,看看几步可以观赏到月亮。 官方活动入口 ​ 本文档是对Python语言制作拼图小游戏界面功能需求进行分析归

    2023年04月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包