Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Android上使3D对象从左到右跟随我的手指?_C#_Android_Unity3d_Mobile_Unity Remote - Fatal编程技术网

C# 如何在Android上使3D对象从左到右跟随我的手指?

C# 如何在Android上使3D对象从左到右跟随我的手指?,c#,android,unity3d,mobile,unity-remote,C#,Android,Unity3d,Mobile,Unity Remote,我对团结和游戏开发还不熟悉,所以我试着做一个游戏。一切都很顺利,直到我考虑将游戏从PC改为Android 这项运动在个人电脑上运行得很好,但我似乎找不到任何代码为安卓系统提供类似的运动 这是我在电脑运动中使用的 公共类玩家移动:单一行为 { 公共刚体; 公共浮力=2000f; 公共浮子侧向力=500f; //每帧调用一次更新 void FixedUpdate() { rb.AddForce(0,0,forwardForce*Time.deltaTime); if(Input.GetKey(“d”

我对团结和游戏开发还不熟悉,所以我试着做一个游戏。一切都很顺利,直到我考虑将游戏从PC改为Android

这项运动在个人电脑上运行得很好,但我似乎找不到任何代码为安卓系统提供类似的运动

这是我在电脑运动中使用的

公共类玩家移动:单一行为
{
公共刚体;
公共浮力=2000f;
公共浮子侧向力=500f;
//每帧调用一次更新
void FixedUpdate()
{
rb.AddForce(0,0,forwardForce*Time.deltaTime);
if(Input.GetKey(“d”))
{
rb.AddForce(侧向力*Time.deltaTime,0,0,ForceMode.VelocityChange);
}
if(Input.GetKey(“a”))
{
rb.AddForce(-sidewayForce*Time.deltaTime,0,0,ForceMode.VelocityChange);
}
如果(径向位置y<-1f)
{
FindObjectOfType().EndGame();
}
}
}
这就是我在android运动中使用的,但唯一的问题是它不能前进,玩家甚至不能移动。这个脚本以某种方式移动了玩家所在的平台

公共类PlayerMovANDROID:monobhavior
{
//用于初始化
游戏对象hitObj;
雷卡斯特击中;
私人浮动速度=1;
void Start()
{
}
//每帧调用一次更新
无效更新()
{
foreach(输入触摸,触摸)
{
开关(接触相)
{
案例接触阶段。开始:
光线=摄影机.main.screenpointoray(触摸.位置);
如果(物理射线投射(射线,命中率,10))
{
hitObj=hit.collider.gameObject;
}
打破
案例接触阶段。移动:
//如果手指在屏幕上,请将对象平稳移动到触摸位置
float step=speed*Time.deltaTime;//计算移动距离
if(hitObj!=null)
hitObj.transform.position=Camera.main.ScreenToWorldPoint(新矢量3(touch.position.x,touch.position.y,hitObj.transform.position.z));
打破
}
}
}
}

是否使用GUI按钮移动播放器

如果没有,您可以使用: 水平=
Input.GetAxis(“鼠标X”)
和 垂直=
Input.GetAxis(“鼠标Y”)
检测播放器将手指放在屏幕上的位置

一旦你得到这些,你应该通过变换将它们指定给对象

transform.Rotate(horizontal, vertical ,z);

transform.Translate(horizontal, vertical ,z);

transform.position(horizontal, vertical ,z);

查看更多信息。

是否使用GUI按钮移动播放器

如果没有,您可以使用: 水平=
Input.GetAxis(“鼠标X”)
和 垂直=
Input.GetAxis(“鼠标Y”)
检测播放器将手指放在屏幕上的位置

一旦你得到这些,你应该通过变换将它们指定给对象

transform.Rotate(horizontal, vertical ,z);

transform.Translate(horizontal, vertical ,z);

transform.position(horizontal, vertical ,z);

查看更多信息。

谢谢,但我发现我做错了什么。现在一切都好了!谢谢,但我知道我做错了什么。现在一切都好了!