分析专题提供分析的最新资讯内容,帮你更好的了解分析。
CCTouch类是每个点击事件处理过程中,都需要使用的类, 因为android的屏幕坐标和OpenGL的坐标的不同,而且在屏幕 适配时,有缩放,所以需要把屏幕坐标转化为OpenGL的坐标坐标。 class CC_DLL CCTouch : public CCObject { public: /** * @js ctor */ CCTouch()
<pre name="code" class="cpp">1、java端 Cocos2dxGLSurfaceView类 @Override public boolean onTouchEvent(final MotionEvent pMotionEvent) { // these data are used in ACTION_MOVE and ACTION_CANCEL ** //触
1、在cocos2dx 点击事件分析(2)中,我们已经从java端分析了,单手触摸和多手触摸屏幕。 num --- 1,不论单点触摸还是多点触摸,这个值都是1 ids[] --- 触摸事件的ID void CCEGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float ys[]) { CCSet
1、 添加单点触摸事件,单点触摸事件有优先级,bSwallowsTouches是否吞噬,高优先级的 会优先响应,而且可以吞噬事件,不让触摸事件往低优先级传递。 void CCTouchDispatcher::addTargetedDelegate(CCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches) {
经过CCEGLViewProtocol的handleTouchesBegin,handleTouchesMove,handleTouchesEnd,handleTouchesCancel处理, 都会CCTouchDispatcher中的下面这些函数,而且都会调用touches,那我们就分析一下touches这个函数 void CCTouchDispatcher::touchesBegan(CCSe
cocos2dx音效的实现分析: 上面那个图是cocos2dx音效部分的实现结构图,总体的思想是: 使用同一个SimpleAudioEngine.h头文件,然后在不同平台下对应不同 的实现文件,不同平台编译不同的实现文件,这就要求这个类的函数定义 成员在各个平台下统一。其实这也可以理解为一种跨平台的实现方式。 这里分析android部分: 1、预加载背景音乐 void SimpleAudioEng
cocos2dx文件管理类是一个很重要的类,这里对这个类进行一下分析: CCFileUtils是文件管理类的基类,不同平台下android,ios,win32都有 继承于这个类的子类,如android class CC_DLL CCFileUtilsAndroid : public CCFileUtils 1、单例类: static CCFileUtils* sharedFileUtils()
在1中,我只是针对整体结构进行了分析,那么在2中,我将会对一些我们常用的函数进行分析。 //获取给定文件名的全路径 //下面这很长一段注释,通过举例子,像我们说明cocos2dx获取文件全路径的规则。 //这段我就不翻译了,直接通过代码来看。 /** Returns the fullpath for a given filename. Fir
在2中,我们分析了几个函数,在这一篇中我们继续分析其他一些函数。 1、 在2中,多次用到了m_searchPathArray(搜索路径),那这个搜索路径怎么来的呢? 我们可以通过setSearchPaths这个函数来设置搜索路径 void CCFileUtils::setSearchPaths(const std::vector<std::string>& searchPaths) { b
在3中,我们又分析了几个函数,在这一篇中我们继续分析其他一些函数。 1、android平台 unsigned char* CCFileUtilsAndroid::getFileData(const char* pszFileName, const char* pszMode, unsigned long * pSize) { return doGetFileData(pszFil
写这篇文章,没有花我多少时间。但是由于我的笔记写在云笔记中,图片也多。csdn也不支持直接复制粘贴图片,可以说把笔记移植过来比我当初写还要费事,希望改进吧 从入口开始分析,我们来看看addaction函数,他接受一个动作,并绑定自己,是否暂停取决于节点的running属性。   我们来具体看看ActionManager这个类 class CC_DLLActionManager : public R
这篇博客是建立在之前的http://blog.csdn.net/zhancaihua/article/details/44856289 如果没看过这篇博客,请先看 真心懒得一个一个去贴贴图片了,我直接把笔记做成一整张的图片,只要贴一次图图就ok,我是不是很聪明
创建完一个新项目之后,我们可以简单的看一看这个项目的文件组成,有这么一个文件层次结构 几个proj.*文件夹就不用说了,是对应的平台的解决方案,res专门存放我们的游戏资源,scripts存放我们的lua代码,sources中有我们熟悉的AppDelegate类,我们主要常用的就两个文件夹,res和scripts(我这不是废话吗) 好吧,还是再打开scripts文件夹看下, 该文件下有main.l
GUIReader分析(1): 1、GUIReader用于cocostudio所做UI界面导出json的解析, 并生成对应的UI元素。 GUIReader* GUIReader::shareReader() { if (!sharedReader) { sharedReader = new GUIReader(); } return sharedRe
CocoStudio触摸事件处理: 1、 注册触摸事件处理函数: 方法: /** * Sets the touch event target/selector of the menu item */ void addTouchEventListener(CCObject* target,SEL_TouchEvent selector); 如上面所示,我们看到这里
摘自网上的android生命周期图: cocos2dx-2.X前后台切换分析,基于android平台: 1、从后台进入前台 项目的activity一般继承自Cocos2dxActivity,看过activity生命周期的 都知道onCreate,onResume等方法,这些函数是activity生命周期中 最重要的函数,具体什么时候调用,可以查看相关资料。 //刚进入游戏和游戏从
cocos2dx 音频模块分析(2): 背景音乐部分 我在(1)已经分析了一些东西,这里接着分析,这一篇我们主要分析背景音乐文件的播放, 还是基于android平台: 1、 这里只是背景音乐的预加载,为什么要进行预加载呢? 主要是加载音乐文件是比较耗时的,如果我们没有预加载就直接播放也是可以的, 但是会有一定的延时,因为如果没有预加载,就直接播放,也是会先进行加载音乐文件, 然后进行播放。 vo
cocos2dx 音频模块分析(3):背景音乐部分 我在(2)已经分析了背景音乐文件的预加载preloadBackgroundMusic和播放playBackgroundMusic两个函数, 这里接着分析,还是基于android平台: 1、 //暂停函数,用于音乐的暂停 void SimpleAudioEngine::pauseBackgroundMusic() { //在SimpleAu
cocos2dx 音频模块分析(4): 音效部分 我们上面几篇分析了cocos2dx音频模块的音乐部分,从这篇开始, 我们分析下音效部分: 1、 //预加载音效文件:pszFilePath 音效文件名 void SimpleAudioEngine::preloadEffect(const char* pszFilePath) { //获取音效文件的全路径,如果是apk包里的路径,则不包含a
cocos2dx 音频模块分析(5): 音效部分 我们上一篇中分析的音效部分的预加载和播放函数,这一篇来分析下其他函数: 1、 暂停某个播放中的音效 //注意这里的nSoundId不是java端的soundID,而是streamID //不要被参数的名字迷惑了。 void SimpleAudioEngine::pauseEffect(unsigned int nSoundId) { pau