如何让玩家在碰到对撞机时停止移动? [关闭]

Posted

技术标签:

【中文标题】如何让玩家在碰到对撞机时停止移动? [关闭]【英文标题】:How can i make a player stop moving when it touchs a collider? [closed] 【发布时间】:2022-01-19 02:44:01 【问题描述】:

所以我想知道是否有一种方法可以让玩家只需单击一下就可以无限移动,并在与另一个对撞机发生碰撞时停止。

【问题讨论】:

【参考方案1】:

您可以创建一个全局属性:

bool movePlayer = false;

在 FixedUpdate 方法中,您可以检测鼠标点击并将 movePlayer 更改为 true,如果值为 true,则移动播放器:

void FixedUpdate() 
    if (Input.GetMouseButtonDown(0))
        movePlayer = true;

    if (movePlayer) 
        //move the player here, maybe with Translate method
    

使用 OnTriggerEnter 方法可以检测碰撞并将 movePlayer 更改为 false:

void OnTriggerEnter(Collider other) 
    //you can check for some particular object or avoid this if
    if (other.gameObject.name == "SomeObject")
        movePlayer = false;

【讨论】:

以上是关于如何让玩家在碰到对撞机时停止移动? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 NAV 文本在悬停时停止移动?

结对-贪吃蛇-需求分析

路径关闭时如何让 SciPy.integrate.odeint 停止?

只有当按下左键时,玩家才会向左移动并且不会停止

如何让 gif 在 Java 中运行一次并停止?

关闭应用程序后程序不会停止