quick的触摸机制,我想廖大已经在这篇文章里说的很清楚了,我们这些小辈们就是在他的基础上完备一下,说说用法就可以了,嘿嘿。 在2.2.3之前的版本(不包括2.2.3),触摸机制和廖大在那篇文章里面的说的一样,添加触摸响应采用addTouchEventListener来完成,不过在此之后,对触摸机制就进行了完全的改写,和cocos2dx 3.0的版本一样,采用更加灵活的CCNode事件分发机制。
在前面已经谈过单点触摸的用法了,所以对于多点触摸来说,也是非常简单容易的。 多点触摸其拥有added,removed这么两个独有事件。 added 屏幕中增加了一个触点 removed 屏幕中移除了一个触点 另外,还有这么一个event.points 屏幕中全部触点信息, 每一个触点依然可以获取到其, point.x, point.y 触摸点的当
在quick中,对于按键事件也进行了重新封装,和node的触摸事件一样,也是通过addNodeEventListener来实现。所谓按键事件,主要是针对于android设备中的返回键“back”和菜单键“menu”的响应,在前面的一篇博文中我也简单提过一次,不过咱们还是系统性的来学习一下。 首先清楚预定义的层事件有两个, cc.ACCELERATE_EVENT - 重力感应事件 cc.KE
在前面已经学过了“触摸事件”,"触摸捕获事件",“按键事件”,此外,quick还有其他几个事件,前面已经列过有这些, 预定义的节点事件: cc.NODE_EVENT - enter, exit 等事件 cc.NODE_ENTER_FRAME_EVENT - 帧事件 cc.NODE_TOUCH_EVENT - 触摸事件 cc.NODE_TOUCH_CAPTURE_EVENT - 捕获触摸事件 预定义
状态机在quick中是一个亮点,如果我们做一款RPG游戏,一个角色一般会拥有idle,attack,walk,run,death这些状态,如果游戏角色的状态采用分支条件判断的话,会造成非常庞大而难以维护,但一旦使用了状态机这种模式,就会显得简单方便。 对于quick中的状态机是如何实现的咱们先不去了解,首先看看如何去使用它。 总结起来,如果让一个类拥有状态机,主要有两步: 1.创建状态机对象 2.
主要分为下面几个步骤: 1,开始前的准备工作 首先从github上下载Google的protobuf编译出protoc.exe 地址 然后也是从github上下载云风大侠的pbc 2,将pbc中的相关代码加入到vs(我用的是vs2013)工程项目中 在frameworks\runtime-src\Classes目录下加入protobuf文件夹文件夹中加入pbc相关代码,它们的结构是这样的 1 2
前言 楼主也是初学quick,想写几个简单的小项目入门,想想最简单的还是“微信打飞机”了(之前学Cocos2d-JS的时候也是从这个项目开始入手的)。 正文 这里只是写一个微信打飞机的Demo,所以,不需要有太多的功能。先简单地分析下: 大概分为四个部分来实现: 1.先新建项目实现一个飞机在屏幕中移动 自定义场景, 精灵的定义 屏幕点击事件 2.在游戏中添加敌人和子弹 数组, 计时器 3.添加碰撞
这次将实现子弹的配置文件,敌人的配置文件,子弹的精灵和敌人的精灵。以及子弹的发射和敌人的产生。 子弹的分析: 游戏中不可能只有一种子弹,这样子弹就需要一个配置文件,配置文件中有子弹的类型,子弹的贴图,子弹的生命以及子弹的移动速度。 敌人的分析: 同样,游戏中会出现多种敌人,所以,也需要一个敌人的配置文件,其中包括敌人的类型,贴图,速度,生命等属性。 在这里新建了一个目录(data)来存放配置文件。
前言 这个就作为最后一篇吧,当然,可以扩展的方面还有很多,比如分数的记录,结算界面还有一些小道具等,就不添加了。这只是当作一个简单的入门,而在这个入门中确实学到了不少东西。而那些没添加的东西呢,其实,就没那么重要了。没有太难的知识点。所以,就没必要纠结太长时间了。 正文 碰撞检测: 碰撞检测重新写了一个计时器,这个计时器是每帧调用的,也就是每秒调用60次。但是,没有用updata。 检测碰撞的函数
转载于:http://my.oschina.net/SunLightJuly/blog/180639 Quick-cocos2d-x增加了编译及加密源代码的功能(具体可参考这篇文章)。以此功能为基础,我实现了一个版本更新模块,解决了自己项目中的版本更新需求。现抛砖引玉,与大家分享。 从基本原理和方案讲起比较枯燥,直接从介绍具体用法开始吧。 要能够在线更新文件,一个服务器是必须的。我目前实现的是用H
转载于:http://my.oschina.net/SunLightJuly/blog/180657?p=2#rpl_285246687 二、更新原理讨论及更复杂的更新功能 1.更新原理 在前面的更新过程中,从服务器取文件列表,并根据文件列表再更新相关的文件,这都是很好理解的。当然其中还有些流程细节关系到健壮性、续传、文件版本分发等,我们可以后面再讨论。 对于一些刚开始学习Quick-x的朋友来说
转载于:http://my.oschina.net/SunLightJuly/blog/181599 三、更新流程说明及特性分析 A.更新流程 加载初始安装包,载入旧资源列表 取最新资源列表文件,载入新资源列表 比较两个资源列表版本,如果一致,跳到第8步;以下流程中如果有误也跳到第8步 根据新资源列表检查现有文件,逐一下载新增或者有变化的文件,并加.upd后缀保存 每个下载的文件在保存后马上进行一
转载于:http://www.58player.com/blog-2526-111520.html 记得很久以前,刚开始接触Quick,那时候尝试过一次这样的操作,不过失败了。 因为那时候还年幼,对这里面的一套机制不是太熟悉。现在回头再做这样的事,遇到了问题,但是都很好的根据自己的理解给解决了。 现在记录下,我tolua成功的过程,在写blog的过程中,
这里的系统导出类主要是指Sprite、Image这种cocos2dx lua默认就导出的类,有时候部分cocos2dx c++对应类的接口并没有导出,这就需要我们自己添加导出函数。相比于自定义类的导出,要简单不少。 首先确定这些类的导出定义在工程中的\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto\lua_cocos2dx_auto.c
如果sprite所使用的图片有透明区域,而我们又希望点击这些透明区域的时候不认为点击了这张图片,那就需要判断所点击的位置在图片上是否透明。 网上所提供的使用glReadPixels的方法基本准确,但是在3.x版本中,visit执行后不会立刻render,所以代码需要增加Director::getInstance()->getRenderer()->render();强制渲染一下才行 例如: CCR
-- -- Author: -- Date: 2015-04-26 10:53:55 -- SocketMessage = {} net = require("framework.cc.net.init") cc.utils = require("framework.cc.utils.init") index10001 = 1 local isConnected = false --是否已
创建进行精灵 local sprite = display.newSprite("icon.png")
:pos(display.cx,display.cy)
:addTo(self) 函数名 说明 实例 pos 设置位置 :pos(display.cx,display.cy) addTo 添加到… :addTo(self) scal
转自:http://www.voidcn.com/article/p-qtzgdntn-ns.html 如果看过sample中touch的代码,你会发现示例中有一个cc.NODE_TOUCH_CAPTURE_EVENT事件,它和cc.NODE_TOUCH_EVENT触摸事件一样,是引擎级别的事件,我们来看看它和触摸事件的区别。 首先触摸捕获事件默认是开启的,即setTouchCaptureEn
quick-cocos2d之动态更新 1.创建一个UpdateScene.lua 作为你的更新模块。 require("config") require("framework.init") require("datastore") require("framework.cc.init") local UpdateScene =class("UpdateScene", func
本例主要介绍 如何将 pbc 集成到quick-cocos2dx框架中,让我们的cocos2dx客户端Lua拥有编解码Protocol Buffers能力。 参考: 云风pbc的用法: http://www.cnblogs.com/ghost240/archive/2013/08/12/3253092.html 本例使用的项目位置: https://github.com/miaodadao/pbc