博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pygame 笔记-2 模仿超级玛丽的弹跳
阅读量:7090 次
发布时间:2019-06-28

本文共 1343 字,大约阅读时间需要 4 分钟。

在的基础上,结合高中物理中的匀加速直线运动位移公式 ,就能做出类似超级玛丽的弹跳效果。

import pygamepygame.init()win = pygame.display.set_mode((200, 400))  # 画布窗口的大小pygame.display.set_caption("first game")  # 窗口标题x, y = 85, 300  # 方块的起点width, height = 30, 30  # 方块的宽,高speed = 5  # 速度run = TrueisJump = Falset = 10while run:    # 防止cpu占用过高    pygame.time.delay(10)    for event in pygame.event.get():        if event.type == pygame.QUIT:            run = False    keys = pygame.key.get_pressed()    # 方向箭头响应    if not (isJump):        if keys[pygame.K_LEFT] and x > 0:            x -= speed        if keys[pygame.K_RIGHT] and x < win.get_size()[0] - width:            x += speed        if keys[pygame.K_UP] and y > 0:            y -= speed        if keys[pygame.K_DOWN] and y < win.get_size()[1] - height:            y += speed        if keys[pygame.K_SPACE]:            isJump = True    else:        if t >= -10:            a = 1  # 前半段减速上跳            if t < 0:                a = -1  # 后半段加速下落            y -= 0.5 * a * (t ** 2)  # 匀加速直线运动的位移公式            if y < 0:                y = 0  # 防止跳出边界            t -= 1        else:            isJump = False            t = 10    # 将每一帧的底色先填充成黑色    win.fill((0, 0, 0))    # 画方块    pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))    # 更新画布    pygame.display.update()pygame.quit()

效果:

 

参考:

https://www.youtube.com/watch?v=2-DNswzCkqk

转载地址:http://snfql.baihongyu.com/

你可能感兴趣的文章
[python]decimal常用操作和需要注意的地方
查看>>
Ubuntu 网卡信息2
查看>>
android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明...
查看>>
java中处理字符编码(网页与数据库)(转)
查看>>
[leetcode]Path Sum II
查看>>
NTFS For Mac 如何简单操作
查看>>
django 生成复杂的 PDF 文件(数据较多时)
查看>>
CodeForces 300C 最短路
查看>>
睡觉被憋醒
查看>>
Java 7 Fork/Join 框架
查看>>
c++中冒号(:)和双冒号(::)的用法
查看>>
dubbo工作原理
查看>>
驱动开发利器Microsoft Windows Driver Kit 7.1.0下载
查看>>
maven_项目的依赖、聚合、继承
查看>>
一个C++类的注释:
查看>>
Winsock IO模型之select模型
查看>>
开发规范
查看>>
union和union all的区别
查看>>
debian attempt to kill init!
查看>>
centos7下使用yum安装mysql
查看>>