首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一2D -如何在TopDown射击游戏中使用操纵杆瞄准?

统一2D -如何在TopDown射击游戏中使用操纵杆瞄准?
EN

Stack Overflow用户
提问于 2020-07-29 22:28:22
回答 2查看 1.9K关注 0票数 0

我已经创建了一个游戏在团结2D,这是一个2D TopDown射击游戏。我想把游戏从PC转换到Android,所以我需要创建一个瞄准的操纵杆。现在,我可以用鼠标瞄准我想使用的代码:

代码语言:javascript
复制
void FixedUpdate()
{

    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);

    Vector2 lookDir = mousePos - rb.position;
    float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg;
    rb.rotation = angle;
}

我怎样才能创建一个屏幕上的操纵杆来读取我拖动它的位置,并使用这个位置将我的角色指向相应的位置?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-07-30 00:34:26

从我所看到的,你实际上已经有了很多正确的概念!

你知道什么是向量,所以你的很多工作都被排除了。只需在屏幕上为您的虚拟操纵杆提供一个对象,并有一个固定点,它总是会被抓取回来。

当你点击和拖动你的操纵杆(或通过触摸拖动它),采取矢量之间的锚和拖动-到操纵杆的位置,并有你的瞄准角!

票数 1
EN

Stack Overflow用户

发布于 2021-01-02 07:57:29

如果您的问题是在触摸ui时拍摄,请使用以下代码:

代码语言:javascript
复制
if (Input.GetMouseButtonUp(0) && !(EventSystem.current.IsPointerOverGameObject()))
    print("Shoot");

当你的操纵杆为射击添加操纵杆处理程序从射击方向和操纵杆方向旋转基础Input.GetAxis

不管怎么说,如果回答错了,请发表评论。

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

https://stackoverflow.com/questions/63163386

复制
相关文章

相似问题

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