溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OGEngine工程目錄

發(fā)布時間:2020-07-15 14:17:44 來源:網(wǎng)絡 閱讀:704 作者:橙游Orange 欄目:移動開發(fā)

工程目錄

前置條件:看完OGE工程搭建

 

我們以Flappy Bird來對工程目錄做說明

 

首先是我們的游戲工程,這是個純粹的java工程,不涉及任何平臺(如AndroidIOS 等)

 

該工程創(chuàng)建后引入OGE引擎,或者根據(jù)需求引入對應的擴展包(Box 2d)

OGEngine工程目錄OGEngine工程目錄

src中,我們需要一個類去繼承OGE引擎中的GameLauncher作為程序的入口,在這個DemoMainLauncher繼承了GameLauncher,實現(xiàn)了適配,資源加載等功能。

public class MainLauncher extends GameLauncher implements IConstant{

@Override

protected PixelPerfectEngineOptions onCreatePixelPerfectEngineOptions() {

PixelPerfectEngineOptions pixelPerfectEngineOptions = new PixelPerfectEngineOptions(ZoomCamera.class);

// 設置豎屏 與 AndroidManifest.xmlandroid:screenOrientation的設置一致

pixelPerfectEngineOptions.setScreenOrientation(ScreenOrientation.PORTRAIT_FIXED);

// 適配模式,根據(jù)自己的需求選擇改變寬或者高,這里設置為“保持寬度不變,改變高”

pixelPerfectEngineOptions.setPixelPerfectMode(PixelPerfectMode.CHANGE_HEIGHT);

// 參考尺寸,游戲期望尺寸

pixelPerfectEngineOptions.setDesiredSize(DESIRED_SIZE);

return pixelPerfectEngineOptions;

}

 

@Override

protected void onLoadResources() {

// 加載圖片資源

RegionRes.loadTexturesFromAssets(Res.ALL_XML);

//加載音效資源

Device.getDevice().getSoundFactory().setAssetBasePath("mfx/");

SoundRes.loadSoundFromAssets(SOUND_DIE, "mfx_die.mp3");

SoundRes.loadSoundFromAssets(SOUND_HIT, "mfx_hit.mp3");

SoundRes.loadSoundFromAssets(SOUND_POINT, "mfx_point.mp3");

SoundRes.loadSoundFromAssets(SOUND_SWOOSING, "mfx_swooshing.mp3");

SoundRes.loadSoundFromAssets(SOUND_WING, "mfx_wing.mp3");

}

@Override

protected void onLoadComplete() {

//整個引擎資源加載和啟動后 跳轉到想到的場景

startScene(GameScene.class);

}

}

下面是Android啟動器

OGEngine工程目錄 

 

Android工程中src是包名和一個啟動類,該類繼承引擎android端的入口類GameActivity

 

project_src就是我們使用linkSourceOGEDemo_flappybird_java項目的src給同步過來

 

Android 4.1Android Private Libraries就是看android API引用的版本和你引入哪些jar

 

assets目錄支持任意深度的子目錄,該目錄下文件不會被編譯處理,適合存放資源文件,我們Demo中存放音頻文件、圖片壓縮后文件,字體文件等

 

bin目錄,工程被編譯后,會生成一個bin目錄,里面會有debug簽名的apk文件,所以直接整個bin目錄刪除也沒關系

 

libs目錄,這里存放jar包或者so文件,so文件通常放在libs\armeabi目錄下

 

so文件是一個c++的函數(shù)庫,androidJNI,是先將相應的C語言打包成so庫導入到libs文件夾中調(diào)用的

 

res 目錄,里面的幾個drawable目錄中,存放適用于不同分辨率的Icon文件(文件名要一致)values目錄下strings.xml文件存放文本,app的名字也包含其中

 

================AndroidManifest.xml文件中====================

package=com.orange.flappybird //包名

android:versionCode="1"  //內(nèi)部版本標示版本號 

android:versionName="1.0"  //應用版本號 給用戶看的

android:minSdkVersion="8"  //目前引擎最小androidSDK版本號 

android:targetSdkVersion="17" //目標androidSDK版本號

 

<application

android:icon="@drawable/ic_launcher" //引用drawable存放的icon文件 @drawable/文件名

android:label="@string/app_name"//引用strings.xml文件中app的應用名>

</application>

 

<activity 

android:name="com.orange.flappybird.MainActivity" //通常是包名加類名的格式

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  //實現(xiàn)全屏效果

android:screenOrientation="portrait"   //屏幕顯示 應當與PixelPerfectEngineOptions.ScreenOrientation屬性一致

>

 

<intent-filter>   

<action android:name="android.intent.action.MAIN" />//決定應用程序最先啟動的Activity

<category android:name="android.intent.category.LAUNCHER" />//決定應用程序是否顯示在程序列表里

</intent-filter>

</activity>

================AndroidManifest.xml文件中====================

 

混淆是為了防止apk被反編譯

 

proguard.cfg 可引用混淆文件使工程進行混淆

proguard-project.txt 混淆文件的配置

 

下面是IOS啟動器

OGEngine工程目錄

 

同理,工程中src是包名和一個啟動類,該類繼承引擎IOS端的入口類GameActivity

 

project_src就是我們使用linkSourceOGEDemo_flappybird_java項目的src給同步過來

 

RoboVM Runtime Library 和 RoboVM CocoaTouch Library 是創(chuàng)建RoboVM Project 后自動引用的庫

 

assets目錄支持任意深度的子目錄,該目錄下文件不會被編譯處理,適合存放資源文件,我們Demo中存放音頻文件、圖片壓縮后文件,字體文件等

 

libs目錄,這里存放jar包或者.a文件,.a文件通常放在libs\iphonesimulatorlibs\iphoneos目錄

 

Info.plist.xml里可設置Icon文件

<dict>

...

<key>CFBundleIconFiles</key>

<array>

<string>assets/icon/icon_96.png</string>

<string>assets/icon/icon_72.png</string>

<string>assets/icon/icon_48.png</string>

</array>

</dict>

 

robovm.propertiesapp相關配置

app.version=1.0   //版本

app.id=com.orange.flappybird   //id 通常以包名作為id

app.mainclass=com.orange.flappybird.MainActivity  //主類

app.executable=MainActivity  //可執(zhí)行的類

app.build=1

app.name=OGE_FlappyBird   //app名字

 

 

robovm.xml:設置引用.a文件的路徑

<config>

...

<libs>

    <lib>libs/iphoneos/libOGEngineIOS.a</lib>

    <lib>libs/iphonesimulator/libOGEngineIOS.a</lib>

    <lib>libs/iphoneos/libOGEngineIOS_BOX2D.a</lib>

    <lib>libs/iphonesimulator/libOGEngineIOS_BOX2D.a</lib>

</libs>

</config>

 

 

 

 

 

 

 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI