Я делаю свой первый Android-подключаемый модуль для единства, и я столкнулся с одной проблемой, которую я не могу решить. Прямо сейчас этот подключаемый модуль очень прост. Все, что он делает, возвращает все большее число, но при этом метод создается в собственном файле Android. Затем я вызываю этот метод изнутри Unity, чтобы увидеть рост числа.не может преобразовать void в int
Вот мой код. Файл Android Java:
package com.test.app;
import com.unity3d.player.UnityPlayerActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Config;
import android.util.Log;
public class PluginTest extends UnityPlayerActivity
{
private static final String TAG = "PluginTest_Unity";
private static int number = 0;
@Override
protected void onCreate(Bundle myBundle)
{
super.onCreate(myBundle);
}
@Override
protected void onResume()
{
if(Config.DEBUG)
{
Log.d(TAG, "onResume");
}
super.onResume();
}
@Override
protected void onPause()
{
super.onPause();
}
@Override
protected void onStop()
{
if(Config.DEBUG)
{
Log.d(TAG, "onStop");
}
super.onStop();
}
public static int getNumber()
{
number++;
return number;
}
}
Мой C# файл в Unity:
using UnityEngine;
using System.Collections;
public class NumberExample : MonoBehaviour
{
public GUIText number_output_text;
AndroidJavaClass pluginTutorialActivityJavaClass;
// Use this for initialization
void Start()
{
AndroidJNI.AttachCurrentThread();
pluginTutorialActivityJavaClass = new AndroidJavaClass("com.test.app.PluginTest");
}
// Update is called once per frame
void Update()
{
int number = pluginTutorialActivityJavaClass.CallStatic("getNumber");
number_output_text.text = "nr: " + number;
}
}
Однако, когда я пытаюсь построить свою программу в Unity он жалуется, что я не могу преобразовать непорочную a int по следующей строке:
int number = pluginTutorialActivityJavaClass.CallStatic("getNumber");
Может ли кто-нибудь увидеть изменения, которые мне нужно внести с моим кодом?
Callstatic недействительна. См. Документы: http://docs.unity3d.com/Documentation/ScriptReference/AndroidJavaObject.CallStatic.html – lboshuizen
Возможно, вам нужна 'GetStatic'? –