菜鸟也能学cocos2dx 3.0 浅析刀塔传奇&Q R 上篇(三)

来源:互联网 发布:货币兑换软件 编辑:程序博客网 时间:2024/04/29 09:37

作为一个买书爱好者,读书却十分的不擅长,真的忒丢脸。主要原因大概就是书本总是没有实例的来的那么令人兴奋,引人入胜。

目前由于daota传奇的兴起,许多公司都开始模仿起dota纷纷投入到卡牌游戏的制作。

那么我们先承接上篇,Q&R:

Q:项目android移植时候遇到的ndk报错问题。

R:实际上很多问题都是因为不熟悉mk导致的问题。

好吧,我们首先看下上述的mk文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp

这里忽略,因为我们基本不用改上面这部分,引擎组已经帮我们做好了,下面的才是重点:

LOCAL_SRC_FILES //表示你的cpp文件路径   是以当前路径为相对路径的,即proj.android/jni/,别忘了\(相当于目录+目录,多个目录之间的划分)

LOCAL_C_INCLUDES//表示你的头文件路径,如果你没在class里面做细分(创建了多个文件夹,类似筛选器,存放cpp),则不必改

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static//cocos基本库
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static//cocos声音库
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static//box2d物理引擎库

而这些又是怎么来的呢?

请看:



进入cocos目录,打开2d目录,找到子目录下的android.mk ,打开之~

LOCAL_MODULE := cocos2dx_static
LOCAL_MODULE_FILENAME := libcocos2d

没错,这就是引擎帮你做好的android.mk,而你需要看的则是LOCAL_MODULE,你这就是你自己的项目需要填入的东西。同理,我们在audio/android/下也能找到相应的库。

then,here:

$(call import-module,2d)
$(call import-module,audio/android)
$(call import-module,Box2D)

其实不用很清楚的知道什么是什么,你只要知道什么是你需要填写上的就行了。就是:2d,audio/android,box2d这一列,即告诉ndk的引用的库目录,其实眼睛细的人一下子就能发现,2d是cocos目录下,audio也是cocos目录下,但是box2d却不在cocos目录下,那在哪儿呢?额,其实就在外面的external目录中,其实这部分目录表示的就是同级目录。如果说新建项目下的cocos2d目录是1级别目录的话,cocos和external则是二级目录,2d,audio,box2d则是三级目录,你只要知道这个就能很快的填上了~

琐碎的问题:

Q:cocostudio的button如何切换状态

R:请用setbright,setbrgihtstyle

Q:cocos如果我想让让一个精灵帧动画,在我需要的帧数暂停一段时间,怎么做?

R:提供3种方法  1.首先我们得知道每帧之间的time,这是你设置好的~,然后n即具体的帧数,在哪一帧暂停

,然后你可以启动一个定时器,在(n-1)*time时间后进入定时器函数,

Director::getInstance()->getActionManager()->pauseTarget()//利用这个可以暂停需要处理的精灵帧对象,然后需要的resume就哦了~

2.runaction(spawn(action,seq(delaytime,回调(暂停),null),null))也可

3.查看帧动画的step,即内部的定时器,进行内部处理,具体的话,就不说了。

上面这些是我看到群里有人提问,我就顺便解答了~




下篇主要会针对,dota传奇的不知道是掩码图还是灰度图的图~进行说明~

哦~又暴露我菜鸟的智商了~T T

0 0