Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OGEngine工程目录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

工程目录@H_607_3@

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

我们以FlappyBird来对工程目录做说明

首先是我们的游戏工程,这是个纯粹的java工程,不涉及任何平台(如AndroidIOS等)

该工程创建后引入OGE引擎,或者根据需求引入对应的扩展包(Box2d)

OGEngine工程目录

OGEngine工程目录

src中,我们需要一个类去继承OGE引擎中的GameLauncher作为程序的入口,在这个Demo@H_765_6@mainLauncher继承了GameLauncher,实现了适配,资源加载等功能。

publicclassmainLauncherextendsGameLauncherimplementsIConstant{

@Override

protectedPixelPerfectENGIneOptionsonCreatePixelPerfectENGIneOptions(){

PixelPerfectENGIneOptionspixelPerfectENGIneOptions=newPixelPerfectENGIneOptions(ZoomCamera.class);

//设置竖屏AndroidManifest.xmlandroid:screenOrientation的设置一致

pixelPerfectENGIneOptions.setScreenOrientation(ScreenOrientation.PORTraiT_FIXED);

//适配模式,根据自己的需求选择改变宽或者高,这里设置为“保持宽度不变,改变高”

pixelPerfectENGIneOptions.setPixelPerfectMode(PixelPerfectMode.CHANGE_HEIGHT);

//尺寸,游戏期望尺寸

pixelPerfectENGIneOptions.setDesiredSize(DESIRED_SIZE);

returnpixelPerfectENGIneOptions;

}

@Override

protectedvoidonLoadresources(){

//加载图片资源

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

protectedvoidonLoadComplete(){

//整个引擎资源加载和启动后跳转到想到的场景

startScene(GameScene.class);

}

}

下面是Android启动器

OGEngine工程目录

Android工程中src是包名和一个启动类,该类继承引擎android端的入口类GameActivity

project_src就是我们使用linksourceOGEDemo_flappybird_java项目的src给同步过来

Android4.1AndroidPrivateLibraries就是看androidAPI引用的版本和你引入哪些jar

assets目录支持任意深度的子目录,该目录下文件不会被编译处理,适合存放资源文件,我们Demo中存放音频文件、图片压缩后文件,字体文件等

bin目录,工程被编译后,会生成一个bin目录,里面会有debug签名的apk文件,所以直接整个bin目录删除也没关系

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

so文件是一个c++的函数库,androidJNI,是先将相应的C语言打包成so库导入到libs文件夹中调用的

res目录,里面的几个drawable目录中,存放适用于不同分辨率的Icon文件(文件名要一致)values目录下Strings.xml文件存放文本,app的名字也包含其中

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

package=com.orange.flappybird//包名

android:versionCode="1"//内部版本标示版本号

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"//实现全屏效果

android:screenOrientation="porTrait"//屏幕显示应当与PixelPerfectENGIneOptions.ScreenOrientation属性一致

>

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>//决定应用程序最先启动的Activity

<categoryandroid: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给同步过来

RoboVMRuntimeLibraryRoboVMCocoaTouchLibrary是创建RoboVMProject后自动引用的库

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//可执行的类

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>

大佬总结

以上是大佬教程为你收集整理的OGEngine工程目录全部内容,希望文章能够帮你解决OGEngine工程目录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。