导航:首页 > 操作系统 > 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返回相关的资料

热点内容
秦九昭算法v0怎么求 浏览:380
斗鱼java 浏览:892
程序员对老师的感谢 浏览:27
什么app能查看银行卡照片 浏览:22
win7pdf虚拟打印 浏览:330
程序员喜欢的女生条件 浏览:123
阿里云服务器ip搭建教程 浏览:85
解压和拉伸这一动画的原理是什么 浏览:740
tbc战士的命令怒吼 浏览:481
idea快捷键看源码 浏览:976
手机碎屏解压工具 浏览:245
jsonrpcphp使用 浏览:566
网上求职系统源码 浏览:699
pdf数字不显示 浏览:890
convertwordtopdf 浏览:253
程序编译基本单位 浏览:23
python分析图片角度 浏览:64
阿里云服务器能复制数据吗 浏览:562
python拼音转换文字 浏览:563
动画遗传算法 浏览:63