二 Android Studio 打包EgretApp (開機畫面、橫豎屏、調試、和原生交互)


測試環境:

Windows7

Egret Engine 5.0.14

Egret support 5.0.12

Android Studio 2.3  

 

目錄:

一 修改開機畫面

二 橫豎屏設置

三 修改代碼后調試,輸出console

四 和原生交互

五 熱更新

 

一 修改開機畫面

找到項目目錄下AndroidManifest.xml

 

注釋掉圖中的intent-filter,並把SplashActivity的inttent-filter注釋取消。這樣就有了開機的畫面。

 

  更換啟動的開機圖片

找到項目路徑下的drawable和其他mipmap-xxx文件夾,

J:\testappas\proj.android\app\src\main\res

 

 

將所有splash_img.png圖片替換成你自己的開機畫面 (我把圖片尺寸換了個1280x960的直接報錯,圖片不能太大)

 

 

二 橫豎屏設置

在AndroidManifest.xml找到android:screenOrientation,默認是豎屏"portrait",設置值為"landscape"為橫屏即可。

 

設置為橫屏后,發現開機畫面還是豎屏的....

需要把開機畫面的activity也加一個橫屏設置。

 

好了這樣就是橫屏游戲了。

 

三 Android和Egret的調試

每次修改egret項目后,發布時勾選runtime

 

則會自動更新包到android_as_path的路徑下,這時你只要再次run一次android studio項目就可以運行新的代碼了

 

Egret中輸出console可以在android studio中看到

我在Egret制作一個按鈕,按一下console.log("按一下輸出一個console"),如下圖,可以在Android Monitor看到。

 

但是Android的java中的Log.d()信息,始終打印不出來,百度后也未解決...= =! 

 

四 和原生交互

下面是一個Egret向Android原生層請求登錄的例子

 

Android層:

src/main/java/org.egret.java/testapps/testapps


private void setInterfaces() {      //監聽Egret發送來的消息 gameEngine.setRuntimeInterface("reqLogin", new IRuntimeInterface() { @Override public void callback(String message) { Log.d("externalInterface", "接收到Egret的登錄請求 : " + message);          
          
//向Egret發送消息 gameEngine.callEgretInterface("revLogin", "登錄成功"); } }); }

 

Egret層:

/**
 * 主頁場景
 * @author chenkai 2018/1/8
 */
class HomeScene extends eui.Component{
	private loginBtn:eui.Button;

	public constructor() {
		super();
		this.skinName = "HomeSceneSkin";
	}

	protected childrenCreated(){
//點擊登錄 this.loginBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouchTap, this);
         //監聽Native發來的消息 egret.ExternalInterface.addCallback("revLogin", function (message:string) { console.log("接收Native登錄結果: " + message); }); } private onTouchTap(){ console.log("請求登錄"); let json = { account:"chenkai", password:"123456" };
           //向Native發送消息 egret.ExternalInterface.call("reqLogin", JSON.stringify(json)); } }

  

五 熱更新

待續...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM