新手可以学习cocos2dx 3.0 组态(两)

这主要是关于cocos3.0 组态,鉴于互联网已经有很多这样的文章。所以我简单谈一下:

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,

新手可以学习cocos2dx 3.0   组态(两)

增加例如以下代码:

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会帮你配置的,以及告诉你须要配置哪些了。

.新手可以学习cocos2dx 3.0   组态(两)

这里顺便在说一下。3.0final的samples除了test和empty好像都搬走了~也许是为了引擎包的大小吧,尽管哪些样例可能没testcpp好,可是也是有只是学习作用的,所以要找samples的话,能够从beta2下,rc開始就没了,记得就是这种。2.x的搬过来感觉会好累。3.0beta2毕竟更为接近。

4.命令行cocos命令创建新项目

下面是样例

新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

help和官网上有具体说明

新手可以学习cocos2dx 3.0   组态(两)新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

我一直觉得样例是最好的老师~

5.顺便提一下cocos code ide

专属lua和js的ide。很感谢cocos的引擎组的制作

新手可以学习cocos2dx 3.0   组态(两)

我看了下ide 的lua的代码提示是很优良的,可是网上好像仅仅是涉及到3.0rc,而在final出来的如今,我们也得跟着版本号走。创建cocos 3.0final的lua项目

首先是框架文件夹设置

新手可以学习cocos2dx 3.0   组态(两)新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

然后我们用cocos命令创建一个新lua项目吧,记住一定要-l lua和 -t runtime 不然的话出不来buildpath的哦~

新手可以学习cocos2dx 3.0   组态(两)新手可以学习cocos2dx 3.0   组态(两)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzg4MjE5MDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="font-size:18px">

新手可以学习cocos2dx 3.0   组态(两)

然后改动.buildpath为

新手可以学习cocos2dx 3.0   组态(两)

<?

xml version="1.0" encoding="UTF-8"?>

<buildpath>

<buildpathentry kind="lib" path="src"/>

<buildpathentry kind="con" path="org.eclipse.koneki.ldt.ExecutionEnvironmentContainer/cocos2dx/3.0-stable"/>

<buildpathentry kind="con" path="org.eclipse.koneki.ldt.ExecutionEnvironmentContainer/lua/5.1"/>

</buildpath>

随后import到ide中

新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzg4MjE5MDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

新手可以学习cocos2dx 3.0   组态(两)

有代码提示咯~

然后就開始愉快的lua编程吧~~~嘻嘻

http://www.cocos2d-x.org/wiki/Code_Editor这个官网地址。最好从官网下ide

新手可以学习cocos2dx 3.0   组态(两)

ps:本人在将cocos引擎的时候会做一定延伸,多才多艺的总的没错的不是新手可以学习cocos2dx 3.0   组态(两)

至于QandR 下一个会做。该空间并不限于文字,冗长,看不~~

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:.SO 出现 undefined reference


下一篇:sql waitfor 延时执行