• 新手可以学习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,


    增加例如以下代码:

    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项目

    首先是框架文件夹设置





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



    然后改动.buildpath为


    <?

    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中






    有代码提示咯~

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

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


    ps:本人在将cocos引擎的时候会做一定延伸,多才多艺的总的没错的不是偷笑

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

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

  • 相关阅读:
    删除了原有的offset之后再次启动会报错park Streaming from Kafka has error numRecords must not ...
    sparkStreaming消费kafka-1.0.1方式:direct方式(存储offset到Hbase)
    sparkStreaming消费kafka-1.0.1方式:direct方式(存储offset到zookeeper)
    进程的管理(五)-进程的实现
    进程管理(四)-进程的状态以及转换
    进程管理(三)-进程的层次
    numpy库的认识以及数组的创建
    进程管理(二)-进程的终止
    进程管理(一)-进程的概念以及进程的创建
    python爬取b站排行榜
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4661840.html
Copyright © 2020-2023  润新知