首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >玩偶游戏中的怪虫

玩偶游戏中的怪虫
EN

Stack Overflow用户
提问于 2013-10-27 16:32:38
回答 1查看 365关注 0票数 0

你好,我现在正在做一个侧面的平台。当我从一个平台跳到另一个平台时,我正经历着一个奇怪的问题,它工作得很好。然而,每当我从一个跳到另一个的底部时,我的角色精灵就会从屏幕上往上飞。我觉得这是因为没有对玩家和平台之间的碰撞进行正确的编程,因为我不知道怎么做。以下是我目前所做的事情:

代码语言:javascript
复制
    collide = pygame.sprite.spritecollide(player, platform_list, False)
    if collide:
        player.rect.y-=1

如果有人能为玩家和平台之间的碰撞检测提出更好的方法,请说出来,谢谢。这个bug允许玩家通过我为屏幕的四个角落设置的屏幕边界(第322行和212行),但是通常这些障碍

这是我的完整游戏代码:

http://pastebin.com/cae4u5NR

EN

回答 1

Stack Overflow用户

发布于 2013-10-27 19:20:42

在图形化编程时,y坐标被反转,因此y坐标值在平台下会更高,在平台上会更低。

您当前的代码将将播放器移动到平台内,这将再次激活碰撞,并将其进一步推到平台内。

相反,你应该说:

代码语言:javascript
复制
    collide = pygame.sprite.spritecollide(player, platform_list, False)
    if collide:
        player.rect.y += 1

这里要注意的是从"-= 1“改为"+= 1”。

这将使玩家精灵向下移动,而不是上升到平台内。

我也有一个碰撞检测的例子,我在我自己的面向对象程序中实现了这个方法一次,但是我丢失了我自己的程序。我不记得谁拥有这个程序,因为我很久以前就发现了它,我希望它能帮助你从我说的话中看出一个公平的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19620450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档