首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让玩家在Unity中站在特定的积木上时自动跳起来?

如何让玩家在Unity中站在特定的积木上时自动跳起来?
EN

Stack Overflow用户
提问于 2021-02-12 16:53:14
回答 1查看 69关注 0票数 0

(请原谅我糟糕的编码技巧)

所以我试着做一个统一的跳板,如果球员站在跳板上,球员会自动被射向天空。

代码语言:javascript
复制
float height = 50f;

else if (onJumpPad)
        {
            while (true) {
                velocity.y += 1;
                height -= 1;

                if (height == 0)
                {
                    height = 50f;
                    break;
                }
            }
        }

上面是半工作的代码。我必须跳上跳板才能让球员飞上天空。

如有任何帮助,我们将不胜感激。

(我知道height变量不应该位于else if语句的中间,我写它只是为了演示)。

此处的完整代码= https://pastebin.com/3ZVu5bUq

EN

回答 1

Stack Overflow用户

发布于 2021-02-12 17:04:58

我想你可能需要一个跳板。因此,首先,不要忘记在块上添加一个碰撞器,根据需要增加高度和宽度。然后你可以向OnTriggerEnter或OnCollisionEnter查询。例如:

我有一个名为jumpPad的块。我添加了一个盒子对撞机与充分的宽度和最小的高度。我没有检查IsTrigger,所以我必须使用OnCollisionEnter。现在我将在播放器脚本中编写的代码是:

代码语言:javascript
复制
    void OnCollisionEnter(Collision other)
    {
       if(other.gameObject.CompareTag("jumpPad")
       {
           GetComponent<Rigidbody>().AddForce(Vector3.Up * force);
       }
    }

在这段代码中,force已经在脚本中的某处声明了。如果你使用的是CompareTag或.tag == "jumpPad“,也要确保给block一个标签。另外,您还需要向player对象添加rigidbody组件。

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

https://stackoverflow.com/questions/66168807

复制
相关文章

相似问题

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