2d平面unity,鼠标点击某个位置,人物角色朝这个方向移动

这篇具有很好参考价值的文章主要介绍了2d平面unity,鼠标点击某个位置,人物角色朝这个方向移动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

2d平面unity,鼠标点击某个位置,人物角色朝这个方向移动


方法

using UnityEngine;

public class MoveToClickPoint : MonoBehaviour
{
    public float speed = 5f; // 角色速度

    void Update()
    {
        if (Input.GetMouseButtonDown(0)) {
            // 鼠标左键点击
            Vector3 clickPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); // 获取鼠标点击位置
            clickPosition.z = 0; // 将z轴设为0(2D平面)
            transform.LookAt(clickPosition); // 角色朝向点击位置
            transform.Translate(Vector3.forward * speed * Time.deltaTime); // 角色向前移动
        }
    }
}


屏幕坐标为什么要转化成相机坐标?

如果我们没有将鼠标点击位置转换为世界坐标系中的位置,而是直接将屏幕坐标系中的位置作为角色移动的目标位置,那么可能会发生以下两种情况:

  1. 角色会偏离目标位置
    由于屏幕坐标系中的位置和世界坐标系中的位置具有不同的尺度和坐标系,因此如果我们直接使用屏幕坐标系中的位置作为目标位置,那么角色移动时可能会偏离该位置。

  2. 角色会移动到意外的位置
    如果我们使用屏幕坐标系中的位置作为目标位置,那么角色可能会移动到预想之外的位置。这是因为屏幕坐标系中的位置是相对于屏幕左下角的,而不是相对于游戏场景中的某个位置的。因此,如果我们直接使用屏幕坐标系中的位置作为目标位置,那么角色可能会移动到屏幕左下角附近,而不是我们期望的位置。

因此,我们需要将屏幕坐标系中的位置转换为世界坐标系中的位置,以确保角色能够正确地移动到我们期望的位置。文章来源地址https://www.toymoban.com/news/detail-735200.html


到了这里,关于2d平面unity,鼠标点击某个位置,人物角色朝这个方向移动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4 回合游戏项目 01- 创建人物-玩家角色

    步骤: 1.下载游戏资源,链接:https://pan.baidu.com/s/1l2hpeEtIoFcUC4vAhut-ig 提取码:wlcp 2.解压第一节课资源 双击打开项目:  3.新建一个空白工程  设置好项目的存储路径和项目名  4.打开含有游戏资源的虚幻编辑器,右键点击内容,选择迁移  将所有的游戏资源迁移到新项目中

    2024年02月08日
    浏览(69)
  • [JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

    第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 第四章 绘制Q版地图、键盘上下左右地图场景切换 本章内容融合了第一章、第二章的部分内容,

    2024年02月15日
    浏览(44)
  • Qt鼠标点击事件处理:显示鼠标点击位置(完整示例)

    Qt 入门实战教程(目录) 前驱文章: Qt Creator 创建 Qt 默认窗口程序(推荐) 事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。 例如点击鼠标,按下按键。 在Qt中使用一个对象来表示一个事件,它继承自QEvent类。 如鼠标事件(例如点击

    2024年02月10日
    浏览(56)
  • powershell 获取鼠标位置 与 鼠标点击

    2024年02月11日
    浏览(53)
  • Unity2D-使人物翻转的方法

    方法①:使用组件: SpriteRenderer 使用 GetAxis() 和 GetAxisRaw() 没有区别 方法②:使用组件: Transform 情况1:使用 GetAxisRaw() ;没有刹车效果,及翻转过程没有过渡, m o v e F a c t o r moveFactor m o v e F a c t or 取-1,1,0 情况1:使用 GetAxis() ;有刹车效果,及翻转过程有过渡, m o v e F a c t

    2024年02月12日
    浏览(41)
  • Python模拟鼠标点击与实时获取鼠标位置

    鼠标点击会用到pymouse库。 在cmd中运行,使用镜像下载 编译器在运行时可能会报错,会出现No module named win32api问题,这是由于Python是没有自带访问windows系统API的库的,需要下载。 在cmd中运行,使用镜像下载pywin32。 time.sleep(num),num值可以自己进行设置,单位为秒。 程序运行

    2024年02月11日
    浏览(54)
  • pyautogui获取鼠标位置及循环点击指定位置按钮

    pip install pyautogui可能会安装失败,需要先下载包再按照。 由于本机利用的是anconda里的python环境,所以下载后的安装步骤为: 下载包至本地:PyAutoGUI-0.9.53.tar.gz 下载地址 cd 至包下载目录下 执行命令 conda install --use-local PyAutoGUI-0.9.53.tar.gz -n base 对应含义: conda install --use-local 包文

    2024年02月11日
    浏览(103)
  • UE获取当前鼠标点击位置坐标

    获取当前 鼠标点击位置的UE世界坐标 (x,y,z),效果如下图所示(为便于演示,下图显示了碰撞点位)。 2.1 蓝图代码 (1) 核心函数 的蓝图代码如下: (2)当鼠标左键按下时,调用函数,当前鼠标点击位置将会被打印在屏幕上。

    2024年02月09日
    浏览(64)
  • C++实现【获取鼠标位置】以及控制鼠标【打开窗口并点击】

    获取鼠标位置的函数源代码来自:C++【认知系列】实时获取鼠标坐标_c++ 获取鼠标坐标_Zalamp的博客-CSDN博客 鼠标点击操作代码来自: C++控制鼠标移动到指定位置并且左键点击_c++鼠标移动_蜚语77的博客-CSDN博客 在特定程序中实现鼠标点击操作分为两步,第一步就是在任务栏点

    2024年02月12日
    浏览(45)
  • 雷蛇鼠标的宏录制:鼠标位置和点击操作的记录

    下图提示了,是否录制屏幕的绝对位置;

    2024年02月11日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包