从Android性能问题调用Unity方法

时间:2015-09-15 12:00:34

标签: c# android unity3d bluetooth

目前我有一个移植到Android的Unity游戏。我必须实现蓝牙控制,水平移动游戏对象。

现在我正在使用以{10}延迟调用UnityPlayer.UnitySendMessage("paddle", "changePosition", position)的循环。我已经读过这个函数调用根本没用。

有没有办法在Unity中调用changePosition函数并更有效地提供position参数?

目前,桨板运动可能不时有0.5ms +滞后。

编辑这是我当前要求Unity功能的循环:

int tableRowsCounter = 0;
                int[] rawData;
                while (!abort) {
                    if (!btHandler.isAborted()) {
                        tableRowsCounter++;

                        double currentAngle = getFinalAngles()[axis];
                        currentAngle = currentAngle > 0 ? currentAngle * rightMultiplier :
                                currentAngle * leftMultiplier;

                        UnityPlayer.UnitySendMessage("Paddle", "changePosition", Double.toString(currentAngle));

                        rawData = getRawData();

                        dbHandler.addDataToArrayLists(rawData);

                        if (tableRowsCounter == 500) {
                            new AsyncTask<Void, Void, Void>() {

                                @Override
                                protected Void doInBackground(Void... params) {
                                    dbHandler.insertData();
                                    return null;
                                }
                            }.execute();
                            tableRowsCounter = 0;
                        }

                        Thread.sleep(30);
                    }
                }

0 个答案:

没有答案