cocos2d-x

Cocos2d-JS中的cc.LabelAtlas

眉间皱痕 提交于 2020-02-29 11:28:16
cc.LabelAtlas是图片集标签,其中的Atlas本意是“地图集”、“图片集”,这种标签显示的文字是从一个图片集中取出的,因此使用cc.LabelAtlas需要额外加载图片集文件。cc.LabelAtlas 比cc.LabelTTF快很多。cc.LabelAtlas 中的每个字符必须有固定的高度和宽度。 cc.LabelAtlas类图如下图所示,cc.LabelAtlas间接地继承了cc.Node类,具有cc.Node的基本特性,它还直接继承了cc.AtlasNode。 cc.LabelAtlas类图 如果我们要展示如下图所示的Hello World文字,我们可以使用cc.LabelAtlas实现。 cc.LabelAtlas 实现的 Hello World 文字 cc.LabelAtlas实现的Hello World文字主要代码如下: [html] view plain copy var HelloWorldLayer = cc .Layer.extend({ sprite:null, ctor:function () { this._super(); …… // 创建并初始化标签 var helloLabel = new cc.LabelAtlas("Hello World", res.charmap_png, 48, 66, " "); ① helloLabel.x =

cocos2d-x JS 字符串

大城市里の小女人 提交于 2020-02-24 18:51:58
1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。 strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。 如果指定位置没有字符,将返回NaN。 例如: var str = "ABC"; str.charCodeAt(0); 结果:65 2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 String.fromCharCode([code1[,code2...]]) 说明: code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。 例如: String.fromCharCode(65,66,112); 结果:ABp 3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。 strObj.charAt(index) 说明: index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。 例如: var str = "ABC"; str.charAt(1); 结果:B 4、slice方法返回字符串的片段。 strObj.slice(start[,end]) 说明: start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length

cocos2d 入门必备4个基本概念

谁说胖子不能爱 提交于 2020-02-24 02:02:19
今天不早了。明天抽空继续翻译。 cocos2d Basic Concepts cocos2d 基本概念 以下有一些cocos2d的基本概念,是做一个程序所必须掌握的: Scenes Director Layers Sprites Scenes 场景 场景是被一个Scene 对象实现的,或多或少的,是一个独立的程序流的一部分。一些人可把它称作是screens屏幕,或者是stages舞台。你的程序可以有很多场景,但是只有一个可以在给定的时间内的被激活的。 例如,你可能有一个游戏,它有如下的场景。 Intro , Menu , Level 1 , Cutscene 1 , Level 2 , Winning cutscene , losing cutscene , High scores screen 你可以定义他们中的任何一个作为独立的应用,下面每一个场景之间通过一条线相连接。 一个cocos2d由一个或者多个层组成(层是用Layer对象实现的),他们堆在了一起。层给了场景一个展示和表现,最简单的操作就是创建一个有层的场景概念。 一些场景类的集合叫做transitions,是通过TransitionScene 对象来实现的,他允许你可以在两个场景之间回滚。例如fade out/in,从一个面滑动的等。 因为场景是CocosNode的子类

Cocos2d-x学习笔记(二十二)之 网格动作

一个人想着一个人 提交于 2020-02-07 03:55:03
  网格动作类似于特效,可以实现翻转、抖动、震荡、水波纹等效果。Cocos2D-x中,网格类的基类CCGridBase有两个子类,即CCGrid3D和CCTiledGrid3D。这两个类的共同点是,网格的每个子块都可以分离出来,CCGridBase的继承关系如下:   CCGrid3D、CCTiledGrid3D-->CCGridBase-->CCObject。   网格没有什么直接应用的场合,只要明白CCGrid3D和CCTiledGrid3D,并且网格动作是基于网格的即可。运行网格动作的节点好像被分成了大小相同的很多矩形,通过这些矩形的动作形成整体动作,这些矩形就好像形成了一个矩阵。16x12的网格将会运行的非常快,但是效果并不是非常好。32x24的网格看起来非常棒,但是在有些时候运行起来不会太快。   使用网格之前需要取消OpenGL的深度检测,调用如下语句: 1 CCDirector::sharedDirector()->setDepthTest( false );   网格动作的使用和普通动作一样,可以使用runAction来运行动作,具体的动作如下:   CCShaky3D:格扭曲,create函数的参数是扭曲范围、是否扭曲z轴、格的大小、间隔时间。   CCWaves3D:波浪式,create函数的参数是波浪数、振幅、格的大小、间隔时间。   CCFlipX3D

cocos2d-x基础 - 用户交互事件处理

試著忘記壹切 提交于 2020-02-02 00:44:01
cocos2d-x基础 - 用户交互事件处理 1. 单触摸点 单触摸点的侦听器定义方式: auto listener = EventListenerTouchOneByOne : : create ( ) ; 接下来定义单触摸点事件函数: // 触摸开始 listener -> onTouchBegan = [ ] ( Touch * t , Event * e ) { if ( e -> getCurrentTarget ( ) -> getBoundingBox ( ) . containsPoint ( t -> getLocation ( ) ) ) { log ( "点击事件" ) ; } return true ; // onTouchBegan如果后面还有侦听移动和结束信息就要true } ; // 触摸点移动 listener -> onTouchMoved = [ ] ( Touch * t , Event * e ) { if ( e -> getCurrentTarget ( ) -> getBoundingBox ( ) . containsPoint ( t -> getLocation ( ) ) ) { log ( "触摸点移动了" ) ; } } ; // listener -> onTouchEnded = [ ] ( Touch * t ,

cocos2d-X学习之主要类介绍:节点CCNode

六眼飞鱼酱① 提交于 2020-01-29 01:43:21
首先是类结构: 可以看到CCNode 几乎是游戏中处理的大部分类的父类,其主要有以下函数: virtual int getZOrder (void) //获取节点的顺序 virtual const CCPoint & getPosition (void) //获取节点的位置 virtual void setPosition (const CCPoint &var) //设置节点的位置 virtual CCArray * getChildren (void) //获取其所有子节点 virtual CCCamera * getCamera (void)//获取其对应的摄像机 virtual bool getIsVisible (void) //判断节点是否可见 virtual void setIsVisible (bool var) //设置节点可见性 virtual const CCPoint & getAnchorPoint (void) //获取节点的锚点的位置 virtual void setAnchorPoint (const CCPoint &var) //设置节点的锚点位置 virtual bool getIsRunning (void) //判断节点是否在运行 virtual CCNode * getParent (void)//获取父及节点指针 virtual

Cocos2dx - setVelocity works differently on other devices with same resolution

こ雲淡風輕ζ 提交于 2020-01-25 20:25:41
问题 I'm dying with physics , i've tried to use setVelocity however i got slightly different result from different devices. I've tested on iPhone 5 (on simulator) and iPhone 6 (real device) The Director::getInstance()->getOpenGLView()->getFrameSize() returns both devices is 640x1136 pixels But i see they have different result after the animation , its about 2-5 pixels. I really don't know why. I'm making a multiple player game so i need exactly same coordinate of objects on every devices. Does

How to load JSON data in Cocos2d-X 3.0 in javascript

给你一囗甜甜゛ 提交于 2020-01-24 13:05:22
问题 How would one load a javascript structure (object or array) from a file in Cocos2d-X 3. My res/test.json : { version:"1.0", data:"this is some data." } I'm able to load the file content like so: var data = fileUtil.getStringFromFile('res/test.json'); cc.log(data); What is the best way to load the javascript structure from the string? Is there a function in cocos2d-x to do this directly? 回答1: The "standard" JSON.parse works: var fileUtil = cc.FileUtils.getInstance(); var data = fileUtil

Where can I find a good tutorial to start programming using Cocos2D-x? [closed]

夙愿已清 提交于 2020-01-24 09:37:26
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 5 years ago . I have some problems to start programming using cocos2D on linux + android. I use the stable release 0.12.0 (2012-03-05) I compile create-linux-eclipse-project.sh correctly It create a TestCocos2D project on the same path I import the android project to Eclipse I run project and i get the hello world. But i don

how to call javascript function from c++ in cocos2d-x

匆匆过客 提交于 2020-01-24 02:12:07
问题 In my cocos2d-x js project, I bind c++ functions to js using cxx-generator, in this way, I create an ios alertView and show it form my js code, but when user press OK button, I can pass the event to js now, I tried and googled all the 2 days, but I can not do it, if anyone knows what the solution is, please help me, thanks very very much! 回答1: You didn't provide any code, so it's hard to give you specific help, but something like this should provide some direction: Poo.h class JSObject; class