cocos 的CCScheduler模块】的更多相关文章

scheduleSelector函数->查找m_pHashForTimers是否有存储回调的Obj类实例,否,创建新条目tHashTimerEntry,指向回调类实例,tHashTimerEntry中有个属性存储timer数组,调用CCTimer的initWithTarget函数,初始化计时器实例. CCScheduler模块的update会遍历所有条目,获取条目中存储的单条计时器实例,调用计时器实例的update函数.计时器的update会判断传入的时间是否能够触发调用,进而调用obj实例的回…
http://blog.csdn.net/leoncoder/article/details/12523727 新安装搭建cocos2d-X的跳过这里,看以下红色開始: cocos2d-x删除vs2012项目模板(这一步新使用cocos2d-x的不须要) 假设你切换cocos2d-x版本号的话. 要将之前版本号的vs模板删除掉,方法例如以下: 进入下面文件夹(依据自己的vs版本号): VS2008: C:\Program Files\Microsoft Visual Studio 9.0\VC\…
重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30478251 Cocos2d 的一大特色就是提供了事件驱动的游戏框架, 引擎会在合适的时候调用事件处理函数.我们仅仅须要在函数中加入对各种游戏事件的处理, 就能够完毕一个完整的游戏了. 比如,为了实现游戏的动态变化.Cocos2d 提供了两种定时器事件. 为了响应用户输入,Cocos2d 提供了触摸事件和传感器事件: 此外,Cocos2d 还提供了一…
昨天在cocos2dx的一个群里,遇到一位匿名为x的朋友询问的问题,是关于ui的.他使用c++写了不少的ui封装节点,用来实现游戏中的各种不同效果.然后现在想改用lua,于是尝试使用最小代价去复用自己的代码.当然这个是可以做到的,相信很多人都是知道方法的.今天的这篇文章就来谈谈ui部分的处理以及个人的见解. 我们都知道,cocos2dx引擎提供了ui工具cocostudio.后来改名为cocos engine.这些就不赘述了,很多人都会使用这款工具.新版本的工具我没有使用过,不过我承认是方便了很…
上一篇的文章中说到了一些个人习惯的东西以及一些简单的项目配置,这一篇文章我们来进一步完善一些东西.首先,打开编译以后的客户端执行,会看到一大堆的fileutils加载luac文件的提示,在终端显示一大堆,挺烦人的,我做的第一件事就是去修改他.这个很简单,有两种做法,第一种是在c++部分添加调用 cocos2d::FileUtils::getInstance()->setPopupNotify(false); 当然也可以在lua部分添加, cc.FileUtils:getInstance():se…
第一层:纯C环境下,把C函数注册进Lua环境 a.lua 文件 )) a.c 文件 #include <lua.h> #include <lualib.h> #include <lauxlib.h> int foo(lua_State *L) { ); lua_pushnumber(L, n + ); ; } int main() { lua_State *L = lua_open(); luaL_openlibs(L); lua_register(L, "f…
对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在无论是端游还是手游(基于cocos2d)的开发, 基本模式都是c++内核 + lua逻辑的路线.对于c++的开发和调试, vs已经能很好的满足开发者的需求, 微软这方面真是值得称颂.不幸的是, lua的开发和调试,还没有一个统一的,方便的开发调试环境,这也给广大的luaer和项目造成了极大的困扰.目…
Cocos手游录制插件:cocos-plugin Testinlab2014-10-29 13:42:27153 次阅读 Cocos手游录制插件,用于添加Testin手游自动化测试支持,支持cocos 2d-x和cocos 2d-js全版本游戏引擎,包括cocos 2d-x 2.x.cocos 2d-x 3.x.cocos 2d-js 3.x. 下载 使用github工具,或者在命令行clone本项目到本地电脑 1 git clone https://github.com/testinlab/c…
我们在上一篇博客中年使用的cocos工具对于C和C++源代码进行编译.事实上cocos工具读取<游戏工程目录>\proj.android\jni\目录中的Android.mk文件,进行交叉编译和打包的.Android.mk是一个编译文件,它是GNU Makefile的一小部分,是用来向Android NDK描述C和C++源代码文件的,如何进行编译,以及打包等操作.默认的Android.mk文件内容如下: LOCAL_PATH := $(call my-dir)                 …
[Quick 3.3]资源脚本加密及热更新(三)热更新模块 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 lua相对于c++开发的优点之一是代码可以在运行的时候才加载,基于此我们不仅可以在编写的时候热更新代码(针对开发过程中的热更新将在另外一篇文章中介绍),也可以在版本已经发布之后更新代码. 二.热更新模块 cocos2dx的热更新已经有很多篇文章介绍了,这里主要是基于 quick-cocos2d-x的热更新机制实现(终极版2)(更新3.3版本)基础上修改. 1.launc…
在以前的博客,我们使用的中年cocos工具C和C++源代码可以编译. 其实cocos工具读取<游戏project文件夹>\proj.android\jni\夹Android.mk文件,.Android.mk是一个编译文件,它是GNU Makefile的一小部分.是用来向Android NDK描写叙述C和C++源码文件的,怎样进行编译,以及打包等操作.默认的Android.mk文件内容例如以下: LOCAL_PATH := $(call my-dir) ① include $(CLEAR_VAR…
接上一章<Cocos2d-x源代码解析(1)--地图模块(2)> 通过前面两章的分析,我们能够知道cocos将tmx的信息结构化到 CCTMXMapInfo.CCTMXTilesetInfo,CCTMXLayerInfo之中. 当中CCTMXMapInfo存储地图的信息包扩下面几块信息: - Map orientation (hexagonal, isometric or orthogonal) - Tile size - Map size - Layers (an array of TMXL…
这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析.主要包含以下内容: cc.loader与加载管线 Download部分 Load部分 额外流程(MD5 Pipe) 从编辑器到运行时 场景切换流程 前面4章节介绍了完整的资源加载流程以及资源管理,以及如何自定义这个加载流程(有时候我们需要加载一些特殊类型的资源)."从编辑器到运行时"介绍了我们在编辑器中编辑的场景.Prefab等资源是如何序列化到磁盘,打包发布之后又是如何被加载到游戏中. 准备工作 在开始之前我们需…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇将介绍在游戏客户端常用的架构MVC架构.一个游戏的MVC如下划分: M:1)单例全局的数据中心World,所有游戏模块的数据在World中有入口,2)各个模块自己的数据结构. V:1)通过creator预制体制作的UI界面.场景,2)各个界面显示逻辑的ViewCtrl C:1)全局的MainCtrl,2)各个模块的业务逻辑类ModuleCtrl 先介绍M部分.由于一个模块的数据,在其他模块也有访…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇介绍日志系统的设计.一般我们开发一个demo,只会简单的用cocos提供的cc.log打印下日志,方便调试功能.但是要开发一个商业项目,还要考虑怎么收集日志,方便产品上线后定位线上问题.如果线上产品运行出异常时能把当时的上下文日志发到一个文件服务器,有利于分析异常的原因.例如如果有通信数据日志,可以先判断是后端返回数据异常,还是前端逻辑出问题.因此,我会在项目里设计一个统一的日志系统,游戏里所有…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 在初识篇,我介绍过怎样加载prefab.cocos提供了一系列的加载接口,包括cc.loader.load,cc.loader.loadRes,cc.loader.loadResArray,cc.loader.loadResDir. static load(resources: string|string[]|{uuid?: string, url?: string, type?: string},…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 我们已经知道怎样制作.加载.显示界面.但cocos没有提供一个弹窗管理模块,对于一个多人合作的项目,没有统一的管理,界面层级容易混乱.作为主程,在项目开始就应该处理好这些问题,将弹窗划分为不同的层次,不同类型的信息显示在不同的层中.下面将讲解怎样设计弹窗堆栈. 一般地,从下向上,我会将弹窗划分为以下层: 1)内容层,展示游戏相关的信息界面. 2)tips层,显示提示性信息界面,例如获得物品的浮窗.网络…
简单解释, [来源:官方文档] Cocos是触控科技推出的游戏开发一站式解决方案,包含了从新建立项.游戏制作.到打包上线的全套流程.开发者可以通过cocos快速生成代码.编辑资源和动画,最终输出适合于多个平台的游戏产品.Cocos的主要产品有Cocos Studio.Cocos2d-x(Cocos Framework).Cocos Code IDE. Q: Cocos Creator 是游戏引擎吗? A: 它是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript…
半个月前,我们用cosos creator做了一个简单的小游戏,也许算不上小游戏吧..一边学cocos,一边做,几经波折后终于上线了.然鹅,功能是实现了,但是加载速度十分感人(毕竟没经验嘛,无辜脸).1.8M的资源需要10秒钟左右才能全部加载完.于是被老大一有机会就拿出同类产品跟我们的比较,然后一顿吐槽.痛定思痛,决定把能优化的地方全都优化一下. 分析加载瀑布图 首先肯定要找出问题出在那里,下面是加载的network截图: 从图中可以看出,整个加载过程被红线分割为两部分,前面为HTML加载,后面…
很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块. 1.编写一个简单的模块 Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量.一些函数… 等等,这不就是我们所熟悉的类吗? 没错,和类很像(实际上我说不出它们的区别). 我们来看看一个简单的模块,新建一个文件,命名为game.lua,代码如下: 复制代码代码如下: game = {}function game.play()    print("那么,开始吧");end…
导语:这是一篇新手教程,适用于已看完Cocos官方文档,但还对游戏设计.运行流程不熟悉的新人.这篇教程是对文档[快速上手]里那款名叫"摘星星"的坑爹小游戏(文档原话)流程的梳理,以期望见微知著,得到游戏设计的一些普适性的方法,为看完文档仍然迷迷糊糊的新人提供一个游戏制作.运行的大体方向. 一.游戏元素 1.图片资源 ·背景图 background ·开始按钮 btn_play ·主角 PurpleMonster ·地面 ground ·星星 star 2.场景 ·Game 3.脚本 ·…
time:2015/03/19 cocos版本:3.2 描述:用了ide运行一个实例[1]的时候需要增加c++类,正确导出来之后,直接使用vs2012启动是没有问题的,但是使用ide启动却提示找不到模块 学习: (1)使用3.2自带的tolua把自定义类导出来,并作为一个模块添加到lua环境中,参考[2],不多说了. (2)使用 * 使用vs2012直接启动没有问题 * 使用ide直接启动,提示找不到模块 解决: 把ide的启动程序换成vs2012编译的exe就可以了. * 项目-->属性中最后…
英特尔开发人员专区原文地址 Cocos游戏开发引擎对于广大开发者来说都比较熟悉,Intel RealScene是什么呢,简单理解是一种特殊的摄像头,可以捕捉用户的手势,面部表情等,进而实现AR,VR的特殊应用,本案例通过摄像头结合Cocos引擎实现一款跑酷游戏,游戏截图如下: 图1-cocos+IntelRealScene实现的跑酷游戏 1.游戏玩法: 1.在摄像头前坐好 2.当游戏主角前方有障碍物或陷阱时候迅速移动头部向左,游戏主角会跳起 3.恢复坐好状态 (目前我的最好成绩是24秒!!!)…
cocos通过加载tiled 生成的tmx文件来生成游戏地图.本文主要分析cocos加载地图模块的源代码.   如图所看到的,地图加载模块由以上几个类组成. 对外的入口是类CCTMXTiledMap,在使用该类时.程序猿不须要知道其底层的其它类便可解析tmx文件生成地图. 那么.我们首先分析类CCTMXTiledMap是怎样调用其它类进行解析,该类的声明例如以下: class CC_DLL CCTMXTiledMap :public CCNode { /** the map's size pro…
第一章 JavaScript 快速入门 1.1 变量 在 JavaScript 中,我们像这样声明一个变量: var a; 保留字 var 之后紧跟着的,就是一个变量名,接下来我们可以为变量赋值: var a = 12; 在阅读其他人的 JavaScript 代码时,你也会看到下面这样的变量声明: a = 12; 如果你在浏览器控制台中尝试,会发现 JavaScript 在面对省略 var 时的变量声明并不会报错,但在 Cocos Creator 项目脚本中,声明变量时的 var 是不能省略的,…
Cocos Createor 资源 略 场景 节点树 节点与组件 坐标系 脚本 组件声明,生命周期回调 var Component = cc.Class({ // 用于序列化,可省略 name: 'some Name', // 构造函数 cotr: function() { // 不会覆盖父类的构造函数,自动调用父类构造方法 cc.log(this instanceof Component); }, // 继承 extends: cc.Component, // 属性声明,可在编辑器<属性检查其…
至此,功夫小子系列的Cocos2d-x的实战文章就结束了. 源代码地址: https://github.com/SuooL/KungfuBoy 如须要资源请邮件我 1020935219@qq.com 再次贴个文件夹以便检索: 功夫小子专栏地址:http://blog.csdn.net/column/details/suoolcocoshit.html点击打开链接 [Cocos游戏实战]功夫小子第一课需求分析和开发环境的基本配置 [Cocos游戏实战]功夫小子第二课之基础类分析和实现 [Cocos…
接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和Android移动端App的开发,所以这整个Cocos的学习总结的文章会在真个过程中贯穿对比自己相对熟悉的iOS和Android对比学习,要是也有和我自己情况类似的朋友,接下来总结的这整个Cocos系列的文章也许可以帮助到你,有不足的地方也希望指正,我们一同进步. 刚开始的时候,由于以前的游戏是用C+…
在cocos中偶尔会遇到闪退的问题,特别是android和ios系统下的闪退就特别难处理了, 虽然说能使用xcode和eclipse显示log,但是也会出现一些特别的情况,直接闪退而且 没有任何预兆. 检测闪退原因的方法可以有以下几种: 1.最简单的方法就是逐部分代码注释,缩小问题代码范围,逐渐找出问题的代码. 2.例如外部调试工具打印log,比如ios使用xcode, android使用eclipse或者android studio, win32使用Virtual Studio等等,这种方法特…
CocosCreator工程内的命名工程节点的命名规则工程内节点是程序调用资源的主要凭证,一套统一的命名方式和结构可以很大程度降低程序使用Cocos工程的难度 CocosCreator工程是由node(节点)来组成在空白node上添加组件,加挂子节点,从而组成完整的cocos工程 命名结构总体的命名结构遵循以下格式 前缀-内容-尾缀 - 前缀:用来定义node的属性- 内容:node的名字- 尾缀:序列或状态1231. 前缀说明:在开始的时候定义/声明这个节点的属性前缀可以是一个或者多个定义/声…