回光之兆 2022-07-07 13:59 采纳率: 66.7%
浏览 91
已结题

为什么Unity传入Android的坐标Y轴是反方向的

我想在Unity里面调用Android里面自己写的方法,但是写好后发现Unity传入的坐标Y轴是往反方向移动的,有没有什么解决的方法呢

//Unity里面调用Android的方法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
 jo.Call("click",(int)vector2.x, (int)vector2.y);
//Android里面的方法
public void click(int x,int y)
{
    new Thread(new Runnable() {
        @Override
        public void run() {
            //不能在子线程运行
            Instrumentation inst = new Instrumentation();
            //发送Down
            inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_DOWN, x, y, 0));
            //发送Up
            inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_UP, x, y, 0));
        }
    }).start();
}


  • 写回答

2条回答 默认 最新

  • 於黾 2022-07-07 14:10
    关注

    Android是触摸屏
    你想往下走的时候其实手势是向上划
    它本来就是反的呀

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月7日
  • 已采纳回答 7月7日
  • 修改了问题 7月7日
  • 赞助了问题酬金20元 7月7日
  • 展开全部