将玩家移动到精确的触摸/鼠标点击位置

2023-12-01

在我的 2D unity 游戏中,我试图将精灵移动到触摸/光标的位置(现在是单击鼠标)。

我的精灵位于 (173, 48, -52.1) 位置。 然而,当我单击一个可能距离几个像素的位置时,我的位置会更改为 (399, 129, 0),并且我的精灵显然被扔进了广阔的未知世界。

if (Input.GetMouseButtonDown(0))
{

    //fingerPos =  Input.GetTouch(0).position;
    fingerPos = Input.mousePosition;
    transform.position = fingerPos;
    Debug.Log(transform.position);
}

EDIT

当前代码

if (Input.GetMouseButtonDown (0)) {
        fingerPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //Desktop
        transform.position = fingerPos;
        Debug.Log (transform.position);
    }   

Update . Apprantly, when I click the position that is recorded (and the one the sprite is moved to) is directly ON the camera. Refer to image Click


transform.position位于世界坐标中。Input.mousePosition返回像素坐标中的值。您需要将其转换为世界坐标。

fingerPos = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); //Mobile
fingerPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //Desktop

然后你就可以将其分配到你的位置。

transform.position = fingerPos;

EDIT:

if (Input.GetMouseButtonDown(0))
{
    fingerPos = Input.mousePosition;
    fingerPos.z = 10;
    fingerPos = Camera.main.ScreenToWorldPoint(fingerPos);

    transform.position = fingerPos;
    Debug.Log(transform.position);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将玩家移动到精确的触摸/鼠标点击位置 的相关文章

随机推荐

  • DOM 对象存在后初始化 angular2 组件中的传单地图

    我目前正在尝试在有角度的材质内创建传单地图2tab group如下 import Component NgModule from angular core import BrowserModule from angular platform
  • 在 python 中使用迭代器?

    我刚刚了解了 Python 中的迭代器 但是我很难实现它们 我正在尝试编写一个类以使该循环起作用 odds OddNumbers 13 for i in odds print i 我想编写一个 iter 函数和 next 函数来执行此操作
  • 如何使用自动布局将 UILabel 设置为 UICell 宽度的百分比

    I m wondering how to set a UILabel s width expressed as a of the Cell s total width I m using AutoLayout Normally I woul
  • AxiosError:getaddrinfo ENOTFOUND

    我是新手 正在学习使用 API 我在使用 axios 时收到 POST 请求错误 In docs我想要交互的API 他们给出了curl的例子 curl X POST https ssuploader streamsb com upload
  • Android:更改设备设置时布局尺寸问题

    我目前面临着尺寸变化的麻烦 我已经使用 dp 对 xml 文件进行了编码 但是当我更改设备屏幕尺寸时 布局会发生变化 例如 当我进入 设置 显示 屏幕缩放和字体 并将屏幕缩放从中到大时 布局中的某些元素 例如图像视图或按钮 会增大并超出屏幕
  • Geopy 太慢 - 一直超时

    我正在使用 geopy 获取城市名称的纬度 经度对 对于单个查询 这工作得很好 我现在尝试做的是迭代 城市名称的大列表 46 000 并获取每个城市的地理编码 然后 我通过一个检查循环运行它们 将城市 如果在美国 排序为正确的状态 我的问题
  • Powershell 来分割大型 csv。需要很长时间。希望通过代码审查来缩短流程

    csv 大约是一个演出 有超过 100 万行 我正在尝试将其分成 5 个 前 4 个大约需要 18 小时 第 5 个永远不会发生 或者我没有足够的耐心 我的电脑将处于睡眠模式 因为它不会解锁 function Split Csv Cmdle
  • 如果我使用 Javascript 和 CSS 动态获取数据库的文本,如何将文本划分为列?

    我认为一个脚本使得每个容器中一定数量的字符都可以工作 你知道这样的脚本吗 这是一种响应式设计 我可以使用多个 css 文件 但我只需要一个 html 文件 问题出在我将动态获取的文本中 所以我不知道我会得到多少个字符 在桌面大小中 段落排列
  • fgets() 没有像我期望的那样工作

    谁能告诉我为什么这段代码不起作用 当我运行时 它只是打印出 输入有关线索 1 的信息 并且没有任何输入 跳到另一个步骤 include
  • Windows 物理驱动器访问 fopen 和 fseek

    我目前正在尝试以 C 语言中的二进制数据流的形式访问物理硬盘 我已经安装了一个映像 img 并且可以从操作系统 Win 7 中读取它 我的 C 程序只是尝试以只读二进制模式打开物理驱动器 然后从驱动器读取一些数据 但是 如果我只是从流中读取
  • 将计算列添加到 pandas 中的数据框

    我有一个 OHLC 价格数据集 我已将其从 CSV 解析为 Pandas 数据框 并重新采样为 15 分钟柱
  • 验证 Thymeleaf 中的输入

    我有这个输入 Masa
  • Javascript多维数组返回错误的维度[重复]

    这个问题在这里已经有答案了 我这样初始化一个数组 imgArray imgArray 0 0 image1 imgArray 1 0 image2 imgArray 0 1 image3 imgArray 1 1 image4 imgArr
  • Java 程序的程序计数器寄存器值

    是否可以获取正在运行的 Java 应用程序 尤其是在 Android 模拟器中运行的应用程序 的程序计数器 PC 寄存器值 例如 gprof 会随机采样 PC 寄存器值 以便找出哪个函数正在消耗程序的运行时间 这样的概念对 JVM 有意义吗
  • 优化零重力二维空间中粒子的引力计算

    我用 python 创建了一个小的粒子可视化 我正在计算零重力二维空间中粒子的运动 每个粒子都会根据粒子质量和距离吸引所有其他粒子 我在 pygame 中做了一个可视化 一切都按计划进行 通过计算 但是我需要极大地优化计算 如今 该系统可以
  • Python 多处理和 wxPython 协同工作

    我有以下问题 我编写了一个脚本 该脚本最多同时运行四个进程 通过命令行使用它时 它就像一个魅力 然后我决定使用 wxPython 编写一个 GUI 并且我很快发现 GUI 和脚本需要在不同的进程中运行 以便在另一个执行某些操作时两者都保持可
  • C# WCF:在提供对服务的访问的共享库中拥有单个 app.config

    我目前有一个包含几个项目的解决方案 其中之一是 WCF 服务 我创建了另一个带有静态类的项目 该静态类基本上提供了通往 WCF 客户端实例的网关 如下所示 public static class WSGateway public stati
  • PostgreSQL - 加入 string_agg

    我有三张桌子 Students student id name 1 Rhon Subjects subject id subject name student id 1 Physics 1 2 Math 1 Grades grade id
  • 如何从Python中的字典中提取所有值?

    我有一本字典d 1 0 3246 2 0 9185 3 3985 如何提取所有值d到一个列表中l 如果您只需要字典键1 2 and 3 use your dict keys 如果您只需要字典值 0 3246 0 9185 and 3985
  • 将玩家移动到精确的触摸/鼠标点击位置

    在我的 2D unity 游戏中 我试图将精灵移动到触摸 光标的位置 现在是单击鼠标 我的精灵位于 173 48 52 1 位置 然而 当我单击一个可能距离几个像素的位置时 我的位置会更改为 399 129 0 并且我的精灵显然被扔进了广阔