这篇主要是讲cocos3.0 的配置,
OA信用盘架设q<319.135.503.1>
鉴于网上已经有很多这种文章,那么我就简单的讲一讲:
1.python2.7 因为cocos引擎的项目新建是用python脚本做的,至于为什么不用python3.x 那么请看python2.7和python3.x的print~
2.ndk 这是你做android apk所必需的东西,先用ndk将c++代码编译成android可识别的so库,然后运用android的jni接口与android对接,其实cocos生成的程序在android上跑是一个activity,如果你cocos需要用到android上的功能比如视频,那么就需要用jni,或者2个activity之间进行切换(activity切换之间会有短暂黑屏,这个黑屏时间跟机子性能挂钩,是需要注意的。)
给个简单的示例:(beta2版本,以播放视频为例)
首先我新建1个video,运用的是android上的基于mediaview的videoview,
加入如下代码:
package org.cocos2dx.cpp;
import com.MyCompany.NEWGAME.R;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.VideoView;
//去掉 mainfest
public class video extends Activity implements MediaPlayer.OnCompletionListener{
/* Called when the activity is first created. /
private VideoView mVideoView = null;
private int mPositionWhenPaused = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉状态栏,使之全屏。
setContentView(R.layout.main);
mVideoView = (VideoView) this.findViewById(R.id.VideoView01);
String mUri = "android.resource://" + getPackageName() + "/" + R.raw.movie;//注意这里,我是在res/raw目录下增加了movie这个视频,R会自动更新生成,不用管。
mVideoView.setVideoURI(Uri.parse(mUri));
//mVideoView.setMediaController(new MediaController(this));//设置模式,播放进度条
mVideoView.setOnCompletionListener(this);
}
protected void onStop(){
super.onStop();
}
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onDestroy(){
super.onDestroy();
}
//Video播完的时候得到通知
@Override
public void onCompletion(MediaPlayer mp) {
this.finish();//会关闭当前activity
}
//开始
public void onStart() {
// Play Video
mVideoView.start();
super.onStart();
}
//暂停
public void onPause() {
//Stop video when the activity is pause.
mPositionWhenPaused = mVideoView.getCurrentPosition();
mVideoView.stopPlayback();
super.onPause();
}
}
</pre><img src="" alt="" /><p></p><p></p><p><span style="font-size:18px"></span></p><pre code_snippet_id="345026" snippet_file_name="blog_20140514_2_4309463" name="code" class="java"><?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MyCompany.NEWGAME"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="9"/>
<uses-feature android:glEsVersion="0x00020000" />
<application android:label="@string/app_name"//app的名字
android:icon="@drawable/icon">//图标放在res/drawble下
<activity android:name="org.cocos2dx.cpp.Cocos2dxActivity"//cocos的activity
android:label="@string/app_name"
android:screenOrientation="landscape"//横屏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="cocos2dcpp" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />//注意,main表示主activity,edit为次
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
//然后你只要仿照上面将video的activty加进去就行,然后intent,进行2个activity的切换,限于篇幅不细讲了。
</application>
<supports-screens android:anyDensity="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"/>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
还有不要忘了再main.xml中加入videoview和修改mainfest
说一下,如果将cocos的activity的设为edit,video设为main,那么在你退出cocos引擎的时候会再次进入video,这点你要注意。
3.xcode,vs2012,eclipse等ide,开发工具你总要的吧?没有你怎么开发?难道记事本?!哦god,大牛,收徒否?
4.环境配置,3.0final里面有个setup.py会帮你配置的,以及告诉你需要配置哪些了。
.
这里顺便在说一下,3.0final的samples除了test和empty好像都搬走了~或许是为了引擎包的大小吧,虽然哪些例子可能没testcpp好,但是也是有不过学习作用的,所以要找samples的话,可以从beta2下,rc开始就没了,记得就是这样的。2.x的搬过来感觉会好累,3.0beta2毕竟更为接近。
4.命令行cocos命令创建新项目
以下是例子
help和官网上有详细说明
我一直认为例子是最好的老师~
5.顺便提一下cocos code ide
专属lua和js的ide,非常感谢cocos的引擎组的制作
我看了下ide 的lua的代码提示是非常优良的,但是网上好像只是涉及到3.0rc,而在final出来的现在,我们也得跟着版本走,创建cocos 3.0final的lua项目
首先是框架目录设置
来源:https://blog.51cto.com/14524882/2434556