我已经创建了一个游戏在团结2D,这是一个2D TopDown射击游戏。我想把游戏从PC转换到Android,所以我需要创建一个瞄准的操纵杆。现在,我可以用鼠标瞄准我想使用的代码:
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;
}我怎样才能创建一个屏幕上的操纵杆来读取我拖动它的位置,并使用这个位置将我的角色指向相应的位置?
谢谢!
发布于 2020-07-30 00:34:26
从我所看到的,你实际上已经有了很多正确的概念!
你知道什么是向量,所以你的很多工作都被排除了。只需在屏幕上为您的虚拟操纵杆提供一个对象,并有一个固定点,它总是会被抓取回来。
当你点击和拖动你的操纵杆(或通过触摸拖动它),采取矢量之间的锚和拖动-到操纵杆的位置,并有你的瞄准角!
发布于 2021-01-02 07:57:29
如果您的问题是在触摸ui时拍摄,请使用以下代码:
if (Input.GetMouseButtonUp(0) && !(EventSystem.current.IsPointerOverGameObject()))
print("Shoot");当你的操纵杆为射击添加操纵杆处理程序从射击方向和操纵杆方向旋转基础Input.GetAxis。
不管怎么说,如果回答错了,请发表评论。
https://stackoverflow.com/questions/63163386
复制相似问题