当前位置: 首页 > 知识库问答 >
问题:

球员在落地后稍微地下了一点

苏涛
2023-03-14

嗨,我正在做一个游戏,我有一个问题。当球员落地时,他会稍微地下一点,例如:

我想要这样的东西:

这是我的重力代码:

   if not player.player.collidelistall(MAPr) and player.yvel < 4:
       player.yvel -= 0.3
   if player.player.collidelistall(MAPr):
       player.yvel = 0
   player.y -= player.yvel
   cy -= player.yvel

谢谢

共有1个答案

籍星汉
2023-03-14

如果玩家在碰撞测试前移动,计算玩家的位置。只在不碰撞的情况下移动玩家。当您检测到碰撞时,设置玩家在地面上的位置:

player.y = cy - player.yvel
indices = player.player.collidelistall(MAPr)

if indices:
    player.yvel = 0
    for i in indices:
        player.player.bottom = MAPr[i].top
    cy = player.player.y 
else:
    cy -= player.yvel
    if player.yvel < 4:
        player.yvel -= 0.3

请参见< code>collidelistall:

返回包含与矩形冲突的矩形的所有索引的列表

 类似资料:
  • 有两个面试官,一个面后端,一个面算法。 1.自我介绍 2.实习项目介绍 你在字节的实习中, 数据聚合过滤是指的什么? 3. 介绍一下常见的 peft 微调办法的原理,优缺点 4.微调场景题, 如果你有一个可以微调的大模型, 有一个 prompt 模板, 但是发现效果不好。 你会怎么考虑这个问题? 5. 假定我们有一个 rag 应用开发,有一个大模型的接口,你怎么用 go 去实现这个高并发开发?(不

  • 三维地球支持的功能包括:新建三维地球、添加图层、绘制要素、执行分析、保存场景。 新建三维地球 您可以在应用中心中点击三维地球,在弹出页面中点击“立即体验”。您也可以依次点击“资源中心”,“场景”,“创建场景”打开三维地球。 在资源中心中,可以查看或编辑您保存的场景。 添加图层 点击左上角工具栏添加按钮即可添加图层。 您可以使用我们为您提供的公有数据服务,也可以在自定义服务中使用您在云存储中上传并发

  • 我正在制作一个带有pygame广告的平铺地图平台游戏,我为玩家定义了X和Y运动,以及一个代表重力的Y力,以使其正确跳跃。然而,当我的玩家摔倒在地上并且游戏开始时,由于重力不断将他推向下方,它既不能向右移动也不能向左移动。除此之外,当玩家跳跃并且我将其向右移动时,就像它无法识别与墙壁底部的碰撞一样(请参阅下面的gif以获取视觉解释)。 我尝试在玩家落地时禁用重力,在玩家跳跃时启用重力,但它没有按预期

  • 如今,很多企业在做市场推广过程中依然离不开落地页这个基础,落地页是企业最容易忽略却又最重要的一环,起到承接外部流量、转化用户的重要作用。但,很多的市场人员对营销推广的关注依然更多的聚焦在如何导引流量,却往往忽视了对落地页本身的优化。 为此,诸葛io面向市场人员推出了落地页分析功能,可以快捷、有效的分析落地页的流量和质量,进而优化落地页,提高转化。 落地页 落地页是访问者在其他地方看到发出的某个具有

  • https://drive . Google . com/file/d/1 UC 2s ys 7 zfd 686 ukqlyamedzkefehzcar/view?usp =共享 正如你在视频中看到的那样,当我试图从山上跳下来时,玩家只是穿过地形,好像没有地形一样,但我仍然可以正常移动。我注意到,每当我离开地面时快速移动时,问题就出现了,就像我第一次开始这个关卡时,我跳得很慢,然后返回地面,每当我

  • 还有人发现谷歌地图(现在)允许你平移到两极之外有问题吗?它曾经停在两极,对吗? 每次用户平移或缩放地图时,我正在工作的一个站点都会在我们的服务器上执行基于位置的查询。这会导致错误,因为用户从地图边缘平移触发的查询是荒谬的。 现在,可以说,我正在服务器端处理edge案例,但在客户端这不是一个很好的用户体验。有没有人有防止过度平移的解决方案? 谢谢