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

本文共 1408 字,大约阅读时间需要 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

转载于:https://www.cnblogs.com/yjmyzz/p/pygame-tutorial-2-jump.html

你可能感兴趣的文章
Spring MVC 知识总结
查看>>
mongodb 中非常好用的 Aggregate
查看>>
JQuery选择器练习原码
查看>>
D3.js使用过程中的常见问题(D3版本D3V4)
查看>>
Python基础
查看>>
选择排序
查看>>
图片验证码常用方法
查看>>
[Usaco2007 Jan]Running贝茜的晨练计划
查看>>
[BZOJ1708][Usaco2007 Oct]Money奶牛的硬币
查看>>
洛谷 P2626 斐波那契数列(升级版)
查看>>
codevs 1814 最长链
查看>>
微信小程序从零开始开发步骤(八)引入框架WeUI
查看>>
linux第一篇
查看>>
CentOS 6 端口白名单设置
查看>>
First Groovy
查看>>
tornado的ORM
查看>>
国外较好的IT网站
查看>>
bat脚本的写法
查看>>
composer update/require slow when enable XDebug in CLI environment
查看>>
iOS-沙盒目录
查看>>