導航:首頁 > 操作系統 > unityandroid返回

unityandroid返回

發布時間:2022-09-03 22:21:26

Ⅰ ios或者android調用Unity的時候,如何取得函數返回值,以及傳多個參數

sendmessage("what",x) 是個void 方法 如果你非要取得返回值 你可以 建一個 static 變數x嘛 然後 this.x = x; 就可以取得當前的值也可以給別的腳本使用 或者 你在方法里運算完 再存 也都可以。
至於 多個參數 unity 的 sendmessage 貌似只支持一個參數 如果你非要多個參數 再如果你的參數都是int 或者 float 或者bool類型的話你可以傳遞一個進去進行拆分嘛比如 要傳遞x=1,y=2.0f,z=true 的話 你就可以傳進去 一個 string = "12true" 然後在方法體里 string.substring()拆分吧

Ⅱ unity android 返回應用會重啟

UnItyanDoctoroId返回應用會重啟,可能是你所說的應用和你的手機系統之間存在的不見人的現象,還有可能是手機有木馬病毒查殺一下吧。

Ⅲ unity 3D 安卓上退出確認的方法

問題一:
我認為可以設定一個int值比如escapeTimes初始值設為1;當檢測到「Input.GetKey(KeyCode.Escape)」後escapeTimes++;然後
if(Input.GetKey(KeyCode.Escape) && escapeTimes > 1)
{
Application.Quit();
}
最後通過協同函數檢測如果按兩次返回鍵時間間隔過長,則重置。具體代碼(C#)如下:
int escapeTimes = 1;
void Update()
{
if(Input.GetKey(KeyCode.Escape))
{
//這個地方可以寫「再按一次退出」的提示

escapeTimes++;

StartCoroutine("resetTimes");
if(escapeTimes > 1)
{
Application.Quit();
}

}

}
IEnumerator resetTimes()
{
yield return new WaitForSeconds(1);
escapeTimes =1;
}
關於JavaScript怎麼用Coroutine協同函數你可以網路一下,轉換一下就行,很簡單。

問題二:
這應該是關於UI解析度適配的問題。你可以試一下NGUI插件,我認為是一款很好的UI插件,完全可以代替Unity自身的UI。NGUI可以使用錨點「Anchor」,可以將UI固定在任意需要的位置。

完全手寫,木有功勞有苦勞哦~~

Ⅳ android手機上的返回鍵,unity怎麼表示

在Unity開發中捕捉Android的常用事件其實很簡單
比如:

// 返回鍵
if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape)))
{
//....
}
// Home鍵

if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Home) ))
{
//.....
}

Ⅳ android手機上的返回鍵,unity怎麼表示

在Unity開發中捕捉Android的常用事件其實很簡單

比如:

// 返回鍵

if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape)))

{

//....

}

// Home鍵

if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Home) ))

{

//.....

}

Ⅵ unity 3D安卓上退出確認的方法是什麼

問題一:

我認為可以設定一個int值比如escapeTimes初始值設為1;

當檢測到「Input.GetKey(KeyCode.Escape)」後escapeTimes++;

然後
if(Input.GetKey(KeyCode.Escape) && escapeTimes > 1)

{
Application.Quit();
}

最後通過協同函數檢測如果按兩次返回鍵時間間隔過長,則重置。

具體代碼(C#)如下:
int escapeTimes = 1;
void Update()
{

if(Input.GetKey(KeyCode.Escape))
{

//這個地方可以寫「再按一次退出」的提示

escapeTimes++;

StartCoroutine("resetTimes");
if(escapeTimes > 1)
{

Application.Quit();
}

}

}

IEnumerator resetTimes()
{

yield return new WaitForSeconds(1);
escapeTimes =1;
}

關於JavaScript怎麼用Coroutine協同函數你可以網路一下,轉換一下就行,很簡單。


問題二:

這應該是關於UI解析度適配的問題。你可以試一下NGUI插件,我認為是一款很好的UI插件,完全可以代替Unity自身的UI。NGUI可以使用錨點「Anchor」,可以將UI固定在任意需要的位置。

Ⅶ 求助各位大神幫我看下 Unity3d 與 Android 交互的問題

1將Unity3D安裝目錄下的Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar
拷貝到Android工程的libs文件夾里:

2
右鍵單擊classes.jar選擇Build Path裡面的Add to Build Path:

3
在MainActivity中繼承UnityPlayerActivity。刪除多餘的方法,僅保留onCreate方法中的super.onCreate語句,如下:
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
4

添加要在unity中調用的方法,這里添加一個帶一個參數的方法StartActivity來調用Android的Activity從而運行Android的代碼。還添加了一個有返回值的方法GetInt,用來測試在Unity中獲取android中方法的返回值。(貌似只能有一個UnityPlayerActivity,而且這個Activity不能是調用第三方SDK方法的Activity。UnityPlayerActivity只能作為Unity和Android交互的一個介面,在這裡面再去調用其他的Activity)
5

package com.example.unitydemo;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {
private Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}

public void StartActivity(String name) {
Intent intent = new Intent(mContext, WelcomeActivity.class);
intent.putExtra("name", name);
this.startActivity(intent);
}

public int GetInt()
{
return 1;
}
}

6
然後Clean一下當前工程,避免一些不必要的問題。

然後在Build Project

右鍵單擊工程,選擇Export

選擇JAR file

右邊全部勾選,輸入JAR的路徑和名字,然後單擊finish:

在Unity項目中創建一個Plugins,如下的目錄結構

其中bin文件夾放我們剛剛導出的JAR包,libs文件夾放需要用的第三方庫文件,res文件夾和AndroidManifest直接從Android工程中拷貝過來。
(除了res文件夾不能動,其他的最好都不要放在單獨的文件夾裡面,貌似除了jar能載入出來,其他格式的文件如果放在其他目錄下會載入不出來)
然後在Unity裡面創建一個腳本文件,綁定在MainCamera上(當然也可以綁定在其他的對象上),如下:

在腳本文件中寫如下代碼:

using UnityEngine;
using System.Collections;
public class Demo : MonoBehaviour {
void Start () {
}
void Update()
{
//當用戶按下手機的返回鍵或home鍵退出遊戲
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )
{
Application.Quit();
}
}
void OnGUI()
{
if (GUI.Button(new Rect(Screen.width * 0.1f, Screen.height * 0.1f, Screen.width * 0.8f, Screen.height * 0.1f), "StartActivity"))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("StartActivity", "第一個Activity");
}
if (GUI.Button(new Rect(Screen.width * 0.1f, Screen.height * 0.2f, Screen.width * 0.8f, Screen.height * 0.1f), "GetInt"))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
Debug.Log(jo.Call<int>("GetInt"));
}
}
}

然後生成APK文件,記得先把包名改成與Android工程一樣的包名。

要測試,只能在手機上測。
最終效果圖:

17
單擊StartActivity,啟動Android的一個Activity,單擊GetInt,Console顯示1

Ⅷ unity,Android游戲發布,選擇路徑時,窗口總是反復彈出,怎樣解決

使用unity開發手機游戲時最不方便的一點是,unity默認不會幫你處理返回按鈕的功能。但這個功能確實必不可少,就算是單個場景也是需要通過返回按鈕退出應用的。無奈只能自己寫一個~~~~
首先寫一個單例,掛在第一個載入的unity場景上

public class BackHandler
{
public static BackHandler _instance = new BackHandler ( ) ;

//已載入的場景
private Stack < string > sceneOrder = new Stack < string > ( ) ;

public void PopScene ( )
{
if ( Input . GetKeyUp ( KeyCode . Escape ) )
{
if ( sceneOrder . Count > 0 )
{
SceneManager . LoadScene ( sceneOrder . Pop ( ) ) ;
}
else
{
//當sceneOrder中沒有場景時推出應用
Application . Quit ( ) ;
}
}
}

public void AddScene ( String sceneName )
{
sceneOrder . Push ( sceneName ) ;
}
}

接下來是寫了監聽返回按鈕的功能,所有的場景都掛了這個腳本

public class BackListener : MonoBehaviour
{
void Update ( )
{
BackHandler . _instance . PopScene ( ) ;
}
}

最後在跳轉場景的時候加上這段代碼就解決了

BackHandler . _instance . AddScene ( SceneManager . GetActiveScene ( ) . name ) ;
SceneManager . LoadScene ( "test1" ) ;

通過上面簡單的幾行代碼基本上就實現的unity中場景的返回棧。

Ⅸ Unity與Android的通信問題:Unity中調用Android的jar包後,Unity生成的apk安裝後找不到可運行的程序...

將Unity3D安裝目錄下的Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar
拷貝到Android工程的libs文件夾里:
Unity3D:[3]Unity3D與Android交互的問題
右鍵單擊classes.jar選擇Build Path裡面的Add to Build Path:
Unity3D:[3]Unity3D與Android交互的問題
Unity3D:[3]Unity3D與Android交互的問題
在MainActivity中繼承UnityPlayerActivity。刪除多餘的方法,僅保留onCreate方法中的super.onCreate語句,如下:
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
添加要在unity中調用的方法,這里添加一個帶一個參數的方法StartActivity來調用Android的Activity從而運行Android的代碼。還添加了一個有返回值的方法GetInt,用來測試在Unity中獲取android中方法的返回值。(貌似只能有一個UnityPlayerActivity,而且這個Activity不能是調用第三方SDK方法的Activity。UnityPlayerActivity只能作為Unity和Android交互的一個介面,在這裡面再去調用其他的Activity)
package com.example.unitydemo;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {
private Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}

public void StartActivity(String name) {
Intent intent = new Intent(mContext, WelcomeActivity.class);
intent.putExtra("name", name);
this.startActivity(intent);
}

public int GetInt()
{
return 1;
}
}

Ⅹ Unity3dC#代碼在安卓手機上怎麼實現按2次返回鍵退出 2次

安裝任務管理軟將結束進程最簡單。如果不想安裝,就在設置-應用程序裡面找到想要關閉的程序選擇強制關閉就可以了

閱讀全文

與unityandroid返回相關的資料

熱點內容
加密貨幣換平台 瀏覽:609
手機內存壓縮軟體 瀏覽:33
生成樹是否與遍歷演算法有關 瀏覽:727
python強化學習迷宮 瀏覽:449
老包子解壓視頻 瀏覽:885
伺服器注冊是什麼意思 瀏覽:418
程序員群體焦慮如何破局 瀏覽:584
程序員在廣州上班 瀏覽:803
androidlinuxadt 瀏覽:512
廣聯達軟體加密鎖原裝晶元 瀏覽:338
如何打開資料庫伺服器 瀏覽:310
kppm是什麼app 瀏覽:538
python多個數組命名 瀏覽:192
a演算法csdn 瀏覽:23
r720伺服器什麼年代 瀏覽:975
本地電腦怎麼設置傳奇伺服器 瀏覽:1002
安卓10框架怎麼製作 瀏覽:959
程序員退休工資待遇 瀏覽:609
湛江中文編程數控系統代理 瀏覽:419
openglandroid書 瀏覽:170