從Unity到Eclipse-《unity3d手機(jī)游戲開(kāi)發(fā)》_第1頁(yè)
從Unity到Eclipse-《unity3d手機(jī)游戲開(kāi)發(fā)》_第2頁(yè)
從Unity到Eclipse-《unity3d手機(jī)游戲開(kāi)發(fā)》_第3頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、從 Unity 到 Eclipse我們還可以將 Unity 工程導(dǎo)出為 eclipse 工程,然后再導(dǎo)入到 eclipse 中,聽(tīng)起來(lái)有些麻煩,但對(duì)于有些 Android 接口,不得不這么做,由于有些時(shí)候使用在Unity 中導(dǎo)入.jar 的方法無(wú)法使其正常工作。在下面的例如中,我們?nèi)詫⒃赨nity 中顯示一個(gè) Android 對(duì)話框,但這次是將Unity 工程導(dǎo)入到 eclipse 中。eclipse 與 Unity 工程之間的通信我們將使用Unity 的 UnitySendMessage 函數(shù)完成,這個(gè)做法與在IOS 平臺(tái)是一樣的。導(dǎo)出eclipse 工程1翻開(kāi)光盤名目chapter10_A

2、ndroid_Plugin_Start內(nèi)的 Unity 工程。2翻開(kāi)角本AndroidAPP.cs,添加代碼如下:/ Android 的Activityprivate AndroidJavaObject activity;/ Use this for initialization void Start / 當(dāng)前玩耍體的名字 = “AndroidManager“;/ 獲得Android ActivityAndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer“); activity =

3、jc.GetStatic(“currentActivity“);void OnGUIGUI.skin=m_skin;if (GUI.Button(m_showAndroidDialog, “顯示 android 對(duì)話框“)string args=new string2; args0=“Hello“;args1=“World“; activity.Call(“HelloWorld“, args);Unity 手機(jī)網(wǎng)頁(yè)玩耍開(kāi)發(fā)第 10 章Android 玩耍/ 轉(zhuǎn)變攝像機(jī)背景顏色為紅色,將在 eclipse 中使用SendMessage 執(zhí)行void AndroidCallBackCamera.m

4、ain.backgroundColor = new Color(1.0f, 0, 0);這里的代碼與前一節(jié)例如中的代碼相像,增加了一個(gè)AndroidCallBack 函數(shù),它的作用是轉(zhuǎn)變攝像機(jī)背景的顏色,我們將在eclipse 中使用SendMessage 執(zhí)行這個(gè)函數(shù)。在 Start 函數(shù)中,我們將當(dāng)前玩耍體的名字改為AndroidManager,在 eclipse 工程中,我們將查找這個(gè)名字傳送消息。將當(dāng)前工程的Bundle Identifier 設(shè)為 ject.helloworld,稍后在 eclipse 工程中設(shè)置的Package Name肯定要與它一樣。在Unity 菜

5、單欄選擇【File】【Build Settings】,確定當(dāng)前工程已轉(zhuǎn)為Android 平臺(tái), 選中 Create Eclipse project,然后選擇 Export 將當(dāng)前工程導(dǎo)出為 eclipse 工程,如圖 10-30 所示。圖 10-30 導(dǎo)出為eclipse 工程設(shè)置導(dǎo)出的eclipse 工程下面的工作將在 eclipse 中完成,實(shí)際上,從 Unity 中導(dǎo)出的 eclipse 工程并不能直接使用,我們需要將其設(shè)為庫(kù),然后在另一個(gè)建的eclipse 工程中引用這個(gè)庫(kù)。在 eclipse 的菜單欄選擇【File】【Import】,然后選擇 Existing Android Cod

6、e Into Workspace導(dǎo)入上一節(jié)從Unity 中導(dǎo)出的eclipse 工程,如圖10-31 所示。圖 10-31 導(dǎo)入Android 工程在 eclipse 的菜單欄選擇【Project】【Properties】,選中 Is Library,將當(dāng)前工程設(shè)為庫(kù),如圖 10-32 所示。圖 10-32 設(shè)置為庫(kù)創(chuàng)立用于公布的eclipse 工程下面,我們將創(chuàng)立一個(gè)的eclipse 工程,引用Unity 導(dǎo)出的eclipse 工程。1創(chuàng)立一個(gè)的 eclipse 工程,留意 Package Name 肯定要與 Unity 工程中的 BundleIdentifier 全都。在創(chuàng)立工程的過(guò)程中不

7、要選中Create Activity,我們將手工創(chuàng)立Activity。2選擇建的工程,在菜單欄選擇【 Project】【Properties】,然后選擇 Add,選擇Unity 導(dǎo)出的eclipse 工程,將其引用到當(dāng)前工程,如圖10-33 所示。圖 10-33 引用另一個(gè)工程確定選擇建工程,在菜單欄選擇【 File】【 New】【 Class】創(chuàng)立一個(gè)名為MainActivity的類,Package 名字與當(dāng)前工程的Package Name全都,如圖10-34 所示。圖 10-34 創(chuàng)立Activity在 eclipse 的菜單欄選擇【Project】【Properties】,然后選擇 Ja

8、va Build Path,選擇Add External JARs,掃瞄 Unity 安裝名目 EditorDataPlaybackEnginesandroidplayerbin,選擇 classes.jar,將其添加到當(dāng)前的eclipse 工程中。選擇從 Unity 導(dǎo)出的 eclipse 工程,將 assets 中的文件拖拽到建的Helloworld 工程的assets 名目?jī)?nèi),如圖10-35 所示,左邊是從Unity 導(dǎo)出的工程,右邊是創(chuàng)立的工程名目。圖 10-35 工程名目翻開(kāi)MainActivity.java,添加代碼如下:package ject.helloworld

9、;import android.os.Bundle;import android.app.AlertDialog;import android.content.DialogInterface;import com.unity3d.player.UnityPlayer;import com.unity3d.player.UnityPlayerActivity;public class MainActivity extends UnityPlayerActivity Overrideprotected void onCreate(Bundle savedInstanceState) super.o

10、nCreate(savedInstanceState);/ 在Unity 中調(diào)用的函數(shù)protected void HelloWorld(final String title, final String content)runOnUiThread(new Runnable public void run MakeDialog(title, content);Unity手機(jī)網(wǎng)頁(yè)玩耍開(kāi)發(fā)第 10 章Android 玩耍);/ 顯示對(duì)話框public void MakeDialog(String title, String content)AlertDialog.Builder builder =n

11、ew AlertDialog.Builder(MainActivityt.his);builder.setTitle(title).setMessage(content).setCancelable(false).setPositiveButton(“OK“,new DialogInterface.OnClickListenerpublic void onClick(DialogInterface dialog,int which) UnityPlayer.UnitySendMessage(“AndroidManager“, “AndroidCallBack“, “););builder.sh

12、ow;這里的代碼與前一個(gè)Hello World 例如中的代碼類似,不同的地方是,在按對(duì)話框OK 按鈕后,使用 UnitySendMessage 向 Unity 的玩耍體 AndroidManager 發(fā)送了一個(gè)消息,執(zhí)行AndroidCallBack函數(shù),使攝像機(jī)背景變?yōu)榧t色。翻開(kāi)工程的AndroidManifest.xml,在 Application 標(biāo)簽中添加 Activity 設(shè)置,如下所示:在菜單欄選擇【Run】【Run】,選擇 Android Application,在 Android 設(shè)備上測(cè)試程序。圖 10-36 測(cè)試Android 程序在 Android 設(shè)備上運(yùn)行程序,效果與之前的例如類似,但在按OK 按鈕后,攝像機(jī)背景會(huì)變?yōu)榧t色。公布程序?qū)?Unity 工程導(dǎo)入到eclipse 后,只能在eclipse 中公布程序,實(shí)際上在這里設(shè)置比在Unity中要簡(jiǎn)潔一些,步驟如下: 選擇要公布的工程, 右鍵選擇【Android Tools】 【Export Signed Application Package】,在導(dǎo)出窗口,選擇 Create new keystore,輸入密碼將 keystore 文件保存到指定位置,如圖 10-37 所示。圖 10-37 創(chuàng)立keystore在這里填寫keystore 信息,留意Validity(years)通常設(shè)為 50 年以上,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論