簡體   English   中英

無法將void轉換為int

[英]cannot convert void to int

我正在制作第一個Android統一插件,但遇到了一個我無法解決的問題。 現在,這個插件非常簡單。 它所做的一切都會返回一個遞增的數字,但方法是在本地Android文件中創建的。 然后,我從Unity內部調用此方法以查看數量的增加。

這是我的代碼。 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;
}

}

我在Unity中的C#文件:

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中構建程序時,它抱怨無法用以下行將void轉換為int:

int number = pluginTutorialActivityJavaClass.CallStatic("getNumber");

誰能看到我需要對代碼進行的更改?

文檔

要使用非無效返回類型調用靜態方法,請使用通用版本。

// Create a java.lang.String object, and call static method valueOf(float value).
function Start() {
    var jo = new AndroidJavaObject("java.lang.String");
    var valueString = jo.CallStatic<string>("valueOf", 42.f);
}

你應該打電話給

int number = pluginTutorialActivityJavaClass.CallStatic<int>("getNumber");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM