首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使播放器字符按下/按一下滑鼠光标

使播放器字符按下/按一下滑鼠光标
EN

Stack Overflow用户
提问于 2022-10-24 19:36:46
回答 2查看 24关注 0票数 0

我试图用最大的破折号长度对光标的位置进行冲刺/冲刺,我不知道该如何做,因为我对统一和编码非常陌生。

它将类似于这段代码,除非不是传送字符将破折号。

代码语言:javascript
运行
复制
if (Physics.Raycast(ray, out hit, rayLength, layerMask) && Input.GetMouseButtonDown(1))
            {
                Vector3 hitPosition = new Vector3(hit.point.x, transform.position.y, hit.point.z);
                player.transform.position = hitPosition;

            }
EN

回答 2

Stack Overflow用户

发布于 2022-10-24 20:51:50

在youtube上搜索“统一中移动对象的不同方法”。我建议的建议是使用AddForce而不是Transform.Position。示例:

使用direction.

  • using
  1. 就像在transform.position中踢球一样,就像把球带到理想的位置一样。
票数 0
EN

Stack Overflow用户

发布于 2022-10-25 07:17:31

使用AddForce的解决方案可能如下所示:

代码语言:javascript
运行
复制
// Gets executed, on every left click
if (Input.GetMouseButtonDown(0))
{
    float force = 5f;
    Rigidbody2D rb = GetComponent<Rigidbody2D>();

    // Gets the position of your mouse cursor in world space
    Vector3 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    
    rb.AddForce(direction * force, ForceMode2D.Impulse);
}

您可以将其放入Update方法中。

但是,请注意,您可能应该缓存Camera.mainRigidbody2D。执行每一个帧的查找都是非常低效的。

您还可以/应该使force成为检查器中可用的字段,这样您就可以根据自己的喜好轻松地调整它:)

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

https://stackoverflow.com/questions/74185982

复制
相关文章

相似问题

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