国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Unity3D研究之與Android相互傳遞消息

移動(dòng)開發(fā) iOS 游戲開發(fā)
上一篇文章我們學(xué)習(xí)了Unity向Android發(fā)送消息,如果Android又能給Unity回饋消息那么這就玩美了。恰好Unity for Andoid 和iOS一樣都是可以相互與Unity發(fā)送與接收消息

上一篇文章我們學(xué)習(xí)了Unity向Android發(fā)送消息,如果Android又能給Unity回饋消息那么這就玩美了。恰好Unity for Andoid 和 IOS一樣都是可以相互與Unity發(fā)送與接收消息,這篇文章MOMO就和大家好好聊聊Android向Unity發(fā)送消息的方法。在讀本片博文之前,建議大家讀一下我上一篇文章Unity3D研究院之打開Activity與調(diào)用JAVA代碼傳遞參數(shù)(十八),有關(guān)數(shù)據(jù)打包方面在上一篇中已經(jīng)說的很清楚,這里就不再贅述。

我們?cè)陧?xiàng)目中創(chuàng)建兩個(gè)Activity一個(gè)是主Activity一個(gè)是新打開的Activity和內(nèi)容方面與上一篇文章類似。

UnityTestActivity.java 主Activity ,提供一個(gè)接口方法StartActivity(),它是由Unity中調(diào)用

[代碼]java代碼:

01 package com.xys;
02  
03 import android.content.Context;
04 import android.content.Intent;
05 import android.os.Bundle;
06  
07 import com.unity3d.player.UnityPlayerActivity;
08  
09 public class UnityTestActivity extends UnityPlayerActivity {
10     /** Called when the activity is first created. */
11  
12     Context mContext = null;
13     @Override
14     public void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         mContext = this;
17  
18     }
19  
20     public void StartActivity0(String name)
21     {
22         Intent intent = new Intent(mContext,TestActivity0.class);
23         intent.putExtra("name", name);
24         this.startActivity(intent);
25     }
26  
27 }

接著是TestActivity.java 打開這個(gè)界面后,程序?qū)⒃谶@里向Unity發(fā)送消息。

[代碼]java代碼:

01 package com.xys;
02  
03 import com.unity3d.player.UnityPlayer;
04  
05 import android.app.Activity;
06 import android.os.Bundle;
07 import android.view.View;
08 import android.view.View.OnClickListener;
09 import android.widget.Button;
10 import android.widget.EditText;
11 import android.widget.TextView;
12  
13 public class TestActivity0 extends Activity {
14  
15     @Override
16     public void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.main);
19  
20         TextView text = (TextView)this.findViewById(R.id.textView1);
21         text.setText(this.getIntent().getStringExtra("name"));
22  
23         final EditText edit = (EditText)this.findViewById(R.id.edit);
24  
25         Button close = (Button)this.findViewById(R.id.button0);
26         close.setOnClickListener(new OnClickListener() {
27  
28             @Override
29             public void onClick(View v) {
30                 //注釋1
31                 UnityPlayer.UnitySendMessage("Main Camera","messgae",edit.getText().toString());
32                 TestActivity0.this.finish();
33             }
34         });
35     }
36  
37 }

需要在程序頭引入包import com.unity3d.player.UnityPlayer; 因?yàn)橄騏nity發(fā)送消息的靜態(tài)方法寫在這里。

注釋1:意思是點(diǎn)擊發(fā)送按鈕后,程序?qū)⑾騏nity發(fā)送消息。UnityPlayer.UnitySendMessage() 參數(shù)1表示發(fā)送游戲?qū)ο蟮拿Q,參數(shù)2表示對(duì)象綁定的腳本接收該消息的方法,參數(shù)3表示本條消息發(fā)送的字符串信息,這個(gè)方法與IOS發(fā)送消息的方式非常相像。

接著,我們打開Unity工程將Android插件打包好復(fù)制在Unity工程當(dāng)中,詳細(xì)打包過程請(qǐng)看上一章,將腳本Test.cs綁定在Main Camera對(duì)象中,此時(shí)由于UnityPlayer.UnitySendMessage()方法發(fā)送消息給MainCamera對(duì)象,所以需要在Main Camera對(duì)象綁定的腳本中去接收這個(gè)消息,也就是說要在Test.cs腳本中接收。

(圖片比較大,點(diǎn)擊后瀏覽大圖)

下面我們看看Test.cs腳本

[代碼]c#/cpp/oc代碼:

01 using UnityEngine;
02 using System.Collections;
03  
04 public class Test : MonoBehaviour
05 {
06  
07     //請(qǐng)輸入一個(gè)字符串
08     private string stringToEdit = "Please enter a string";
09  
10     void Update ()
11     {
12         //點(diǎn)擊手機(jī)返回鍵關(guān)閉應(yīng)用程序
13         if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )
14         {
15             Application.Quit();
16         }
17     }
18  
19     void OnGUI()
20     {
21         //繪制一個(gè)輸入框接收用戶輸入
22         stringToEdit = GUILayout.TextField (stringToEdit, GUILayout.Width(300),GUILayout.Height(100));
23  
24         //一個(gè)提交按鈕
25         if(GUILayout.Button("commit",GUILayout.Height(50)))
26         {
27             //注解1
28               using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
29             {
30                  using( AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"))
31                 {
32                     //調(diào)用Android插件中UnityTestActivity中StartActivity0方法,stringToEdit表示它的參數(shù)
33                       jo.Call("StartActivity0",stringToEdit);
34                 }
35  
36             }
37  
38         }
39  
40     }
41     //注解2
42     void messgae(string str)
43     {
44         stringToEdit = str;
45     }
46  
47 }

 注解1:讓代碼放置在using中是為了告訴垃圾回收站及時(shí)的回收垃圾,建議這樣來寫代碼。AndroidJavaClass表示一個(gè)java 類,AndroidJavaObject表示一個(gè)java對(duì)象,在上一章已經(jīng)明確說明。另外還有一些其它的方法,比如調(diào)用靜態(tài)方法等,都在API中寫的很清楚,大家可以查閱學(xué)習(xí)。

注解2:剛剛調(diào)用的方法UnityPlayer.UnitySendMessage()參數(shù)2為”message”,所以程序?qū)⒄{(diào)用 Main Camera對(duì)象的Test.cs腳本的message方法,參數(shù)為Android傳遞過來的。***在這里修改了stringToEdit變量刷新了屏幕的UI。

打開程序后將啟動(dòng)Unity畫面,如上圖在這里我們寫了輸入框接收用戶的鍵盤輸入,***用戶點(diǎn)擊commit按鈕程序?qū)⒋蜷_Android的 Activity,并且將字符串“Please enter a string”做為參數(shù)傳遞給了新Activity。

如上圖所示,在新打開的Activity中已經(jīng)看到Please enter a string字符串已經(jīng)顯示在界面當(dāng)中,在布局文件中同樣寫了Android的高級(jí)控件 輸入框與按鈕,在輸入框中輸入字符串“xuanyusong”(任意輸入),點(diǎn)擊保存按鈕將把”xuanyusong”剛剛輸入的字符串傳遞給 Unity。

如上圖所示,此時(shí)在Unity中字符串“xuanyusong”已經(jīng)顯示在輸入框中,那么這樣就比較***了實(shí)現(xiàn)發(fā)送與接收消息。

 

責(zé)任編輯:冰凝兒
相關(guān)推薦

2012-12-24 09:08:14

iOSUnity3D

2012-12-24 09:20:48

AndoidUnity3D

2012-12-24 09:13:23

iOSUnity3D

2012-12-24 09:15:57

iOSUnity3D

2012-12-24 09:11:58

iOSUnity3D

2012-12-24 09:19:31

iOSUnity3D

2012-12-24 08:57:35

iOSUnity3D

2013-04-25 09:56:24

unity3D手機(jī)游戲引擎

2012-12-24 09:17:12

iOSUnity3D

2013-04-25 10:03:07

unity3D手機(jī)游戲引擎

2012-12-24 08:56:15

iOSUnity3D

2012-12-24 09:18:22

iOSUnity3D

2012-12-24 09:55:15

iOSUnity3D

2012-12-24 08:52:44

iOSUnity3D

2013-04-25 13:27:11

unity3D手機(jī)游戲引擎

2012-12-24 09:14:31

ios

2012-12-24 08:51:23

iOSUnity3D

2012-12-24 08:40:12

2013-06-14 09:54:04

Unity3D

2013-04-25 09:08:39

unity3D手機(jī)游戲引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲一区二区在线播放| 成人综合视频在线| 精品国产亚洲日本| 在线播放亚洲一区| 成人黄色电影网址| 91丨九色丨国产丨porny| 成年人三级视频| 国产精品久久777777毛茸茸 | 色视频一区二区| 漂亮人妻被中出中文字幕| 日本欧美韩国一区三区| 精品无人区一区二区三区| 亚洲综合激情五月| 欧洲在线/亚洲| 中文字幕桃花岛| 亚洲国产电影在线观看| av在线观看地址| 丁香一区二区三区| 日本美女爱爱视频| 国产v综合v亚洲欧| 成年人视频观看| 成人污视频在线观看| 黄色激情在线视频| 91美女片黄在线观看| 免费午夜视频在线观看| 日本一区二区三区在线不卡| 一道本在线免费视频| 成人欧美一区二区三区黑人麻豆 | 日产精品久久久一区二区| 曰本人一级毛片免费完整视频| 牛牛国产精品| 日韩欧美在线网址| 国产啪精品视频网站| 狠狠操第一页| 国产农村妇女毛片精品久久莱园子| 亚洲欧洲在线观看av| 91福利入口| 欧美人与性动交α欧美精品图片| 女主播福利一区| 最新国产精品久久精品| 精品爽片免费看久久| 欧美日韩亚洲一| 99精品在线观看| 精品一区精品二区| 日韩免费小视频| 久久伊人91精品综合网站| 亚洲午夜国产成人| 久久久综合免费视频| 91影院成人| 久久综合九九| 国产iv一区二区三区| 中文字幕在线观看第三页| 午夜精品久久久久久久久久| 免费大片在线观看www| 亚洲毛片一区二区| 日本妇女一区| 国内一区二区在线视频观看| 精品影视av免费| 国产成人午夜电影| 日韩一区二区三区视频| 日韩在线观看一区二区三区| 91九色对白| av一区二区三区四区| 爽爽视频在线观看| 亚洲国产福利在线| 林ゆな中文字幕一区二区| 国产一级精品aaaaa看| 成人av网站在线观看免费| 欧美vide| 亚洲男人天堂网| 日韩88av| av7777777| 欧美人狂配大交3d怪物一区| 不卡一区视频| 国产精品视频福利| 26uuu亚洲综合色| 嫩草香蕉在线91一二三区| 久久亚洲国产精品成人av秋霞| 仙踪林久久久久久久999| 大西瓜av在线| 欧美日韩一本到| 国产成人在线中文字幕| 日韩欧美亚洲在线| 一区二区三区视频在线观看| 色吧亚洲日本| 97netav| 99国内精品久久| 国产成人高清精品| 日本成人在线视频网址| 久久精品久久99精品久久| 白白色视频在线| www.欧美免费| 久久裸体视频| 偷拍自拍在线| 69视频在线免费观看| 国产精品99久久久久久有的能看 | www.97.| 一区二区欧美在线| 久久久人人人| 二区三区在线| 国产精选久久久久久| 国产欧美精品国产国产专区| 在线观看福利电影| 日本一区二区三区www| 色综合久久久网| 亚洲日本三级| 99re6在线视频| 久久天天躁日日躁| 福利视频网站一区二区三区| av中文在线资源| 久久久久久99| 欧美主播一区二区三区| 成人影视亚洲图片在线| 高清av免费看| 欧美大荫蒂xxx| 99re成人精品视频| 麻豆成全视频免费观看在线看| 免费精品视频一区二区三区| 欧美在线一区二区| 在线播放亚洲| 欧美精品电影| 久久精品二区| 欧美一级理论片| 丝袜诱惑亚洲看片| 第四色日韩影片| 午夜精品一区二区三区四区 | 黄色免费在线播放| 国产精品久久久久久亚洲影视| 日韩理论片中文av| 蜜桃成人av| 四虎影视永久免费观看| 97久久精品视频| 亚洲婷婷综合久久一本伊一区| 激情亚洲另类图片区小说区| 99视频在线免费| 精品中文字幕在线观看| 国产夜色精品一区二区av| 99国内精品久久久久| 久久久久久久片| 日韩av男人的天堂| 欧美日韩免费看| 亚洲激情在线| 成人性生交大片免费看网站| 国产精品啪啪啪视频| www.美女亚洲精品| 国产拍揄自揄精品视频麻豆| 九九热精品视频在线观看| 在线国产一区二区三区| 好吊妞www.84com只有这里才有精品 | 成人va天堂| 黄色大片在线免费看| 久久成年人视频| 亚洲婷婷综合色高清在线| 五月天久久网站| 欧美13一16娇小xxxx| 成人手机视频在线| 久久久精品在线| 一区二区成人在线观看| 成人三级网址| 116极品美女视频在线观看| 日韩中文字幕在线看| 久久激情五月激情| 成人私拍视频| 欧美男女爱爱视频| 久久九九精品99国产精品| 国产农村妇女精品一二区| 日韩欧美精品久久| 亚洲美女激情视频| 久久久一区二区三区捆绑**| 国产精品chinese在线观看| 美丽的小蜜桃4春潮| 鬼打鬼之黄金道士1992林正英| 欧美成人女星排行榜| 成人国产精品免费| 欧洲专线二区三区| 蝌蚪视频在线播放| 日本黄色播放器| 欧美一区二三区| 欧美日韩成人在线一区| 国产99精品国产| 日韩美女一区二区三区在线观看| 性网站在线观看| 男人搞女人网站| 国产中文一区二区| 久久影院模特热| 欧美午夜理伦三级在线观看| 盗摄精品av一区二区三区| 精品国产精品国产偷麻豆| 日本动漫理论片在线观看网站| 欧美精品一区二区三区免费播放| 国产精品扒开腿做爽爽爽的视频| 91精品国模一区二区三区| 国产清纯白嫩初高生在线观看91| 在线日本成人| 久久精品福利| 丝袜诱惑一区二区| 免费av在线电影| 亚洲 激情 在线| 中文字幕中文字幕一区三区| 国产精品福利网站|