自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生

多读,多写,多思,方有多得!

转载 Cocos中锚点与位置的关系

anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的。而在cocos2d中决定一个 图片的位置是由两个维度 一个是 position  另外一个是anchor point。只要我们搞清楚他们的关系,自然就迎刃而解。默认情况下,anchor point在图片的中心位置(0.5, 0.5),取值在0到1之间

2017-11-17 18:47:05 4822

转载 Cocos场景切换时清理缓存!!CCTextureCache、CCSpriteFrameCache、CCAnimationCache

cocos2d-x中存在3个缓存类,都是全局单例模式。1.CCTextureCache首先是最底层也最有效的纹理缓存CCTextureCache,这里缓存的是加载到内存中的纹理资源,也就是图片资源。其原理是对加入缓存的纹理资源进行一次引用,使其引用计数加一,保持不被清除,其cocos2d-x的渲染机制是可以重复使用同一份纹理在不同的场合进行绘制,从而到达重复使用,降低内存和CPU运算资源的开销的目的

2017-05-26 12:05:02 2696

转载 ArrayBuffer:类型化数组

ArrayBuffer:类型化数组来自《JavaScript 标准参考教程(alpha)》,by 阮一峰目录分配内存视图视图的生成视图的操作复合视图DataView视图应用AjaxCanvasFile参考链接类型化数组是JavaScript操作二进制数据的一个接口。这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的、实时的

2016-12-15 16:36:59 1903

转载 模拟Javascript面向对象的多态特性

JavaScript已经可以模拟出面向对象的封装和继承特性,但是不幸的是Javascript对多态特性的支持非常弱!其它面向对象语言的多态一般都由方法重载和虚方法来实现多态,Javascript也通过这两种途径来实现!   重载:由于Javascript是弱类型的语言,而且又支持可变参数,当我们定义重载方法的时候,解释器无法通过参数类型和参数个数来区分不同的重载方法,因此方法重载是不被支持的!当先

2016-12-12 14:26:51 1268

转载 Javascript定义类(class)的三种方法

Javascript定义类(class)的三种方法作者:阮一峰在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类"。一、构造函数法这是经典方法,也是教科书必教的方法。它用构造函数模拟"类",在其内部用this关键字指代实例对象。  function Cat()

2016-12-12 11:40:49 1293

转载 Cocos Creator中模块化脚本(官方文档摘录)

Cocos Creator 允许你将代码拆分成多个脚本文件,并且让它们相互调用。要实现这点,你需要了解如何在 Cocos Creator 中定义和使用模块,这个步骤简称为模块化。如果你还不确定模块化究竟能做什么,模块化相当于:C/C++ 中的 includeC# 中的 usingJava 和 Python 中的 importHTML 中的 模块化使你可以在 Cocos Creator 中引用其它脚

2016-12-01 12:44:03 4129

转载 Cocos Creator中获取和加载资源(官方文档摘录)

Cocos Creator 有一套统一的资源管理机制 ,在本篇教程,我们将介绍资源的分类如何在 属性检查器 里设置资源动态加载 Asset动态加载 Raw Asset资源的分类目前的资源分成两种,一种叫做 Asset,一种叫做 Raw Asset。AssetCreator 提供了名为 "Asset" 的资源类型,cc.SpriteFrame, cc.AnimationClip, cc.Prefab

2016-12-01 12:37:51 14477

转载 Cocos Creator中使用对象池(官方文档摘录)

在运行时进行节点的创建(cc.instantiate)和销毁(node.destroy)操作是非常耗费性能的,因此我们在比较复杂的场景中,通常只有在场景初始化逻辑(onLoad)中才会进行节点的创建,在切换场景时才会进行节点的销毁。如果制作有大量敌人或子弹需要反复生成和被消灭的动作类游戏,我们要如何在游戏进行过程中随时创建和销毁节点呢?这里就需要对象池的帮助了。对象池的概念对象池就是一组可回收的节

2016-12-01 12:36:20 2833

转载 Cocos Creator中使用计时器(官方文档摘录)

在 Cocos Creator 中,我们为组件提供了方便的计时器,这个计时器源自于 Cocos2d-x 中的 cc.Scheduler,我们将它保留在了 Cocos Creator 中并适配了基于组件的使用方式。也许有人会认为 setTimeout 和 setInterval 就足够了,开发者当然可以使用这两个函数,不过我们更推荐使用计时器,因为它更加强大灵活,和组件也结合得更好!下面来看看它的具

2016-12-01 11:54:35 14468

转载 Cocos Creator中使用动作列表(官方文档摘录)

基础动作类型Action:所有动作类型的基类。FiniteTimeAction:有限时间动作,这种动作拥有时长 duration 属性。ActionInstant:即时动作,这种动作立即就会执行,继承自 FiniteTimeAction。ActionInterval:时间间隔动作,这种动作在已定时间内完成,继承自 FiniteTimeAction。ActionEase:所有缓动动作基类,用于修饰 

2016-12-01 11:43:47 5399

转载 Cocos Creator中使用动作系统(官方文档摘录)

动作系统简介Cocos Creator 提供的动作系统源自 Cocos2d-x,API 和使用方法均一脉相承。动作系统可以在一定时间内对节点完成位移,缩放,旋转等各种动作。需要注意的是,动作系统并不能取代动画系统,动作系统提供的是面向程序员的 API 接口,而动画系统则是提供在编辑器中来设计的。同时,他们服务于不同的使用场景,动作系统比较适合来制作简单的形变和位移动画,而动画系统则强大许多,美术可

2016-11-30 20:16:04 6439

转载 Cocos Creator系统内置事件和玩家输入事件(官方文档摘录)

系统内置事件如上一篇文档所述,cc.Node 有一套完整的事件监听和分发机制。在这套机制之上,我们提供了一些基础的系统事件,这篇文档将介绍这些事件的使用方式。系统事件遵守通用的注册方式,开发者既可以使用枚举类型也可以直接使用事件名来注册事件的监听器,事件名的定义遵循 DOM 事件标准。// 使用枚举类型来注册node.on(cc.Node.EventType.MOUSE_DOWN, functi

2016-11-30 20:03:48 11370

转载 Cocos Creator 监听和发射事件(官方文档摘录)

监听事件事件处理是在节点(cc.Node)中完成的。对于组件,可以通过访问节点 this.node 来注册和监听事件。监听事件可以 通过 this.node.on() 函数来注册,方法如下:cc.Class({ extends: cc.Component, properties: { }, onLoad: function () { this.node.on('mous

2016-11-30 19:11:20 3132

转载 Cocos Creator 加载和切换场景(官方文档摘录)

在 Cocos Creator 中,我们使用场景文件名( 可以不包含扩展名)来索引指代场景。并通过以下接口进行加载和切换操作:cc.director.loadScene('MyScene');通过常驻节点进行场景资源管理和参数传递通常我们同时只会加载运行一个场景,当切换场景时,默认会将场景内所有节点和其他实例销毁。如果我们需要用一个组件控制所有场景的加载,或在场景之间传递参数数据,就需要将该组件所

2016-11-30 18:57:43 11962 1

转载 Cocos Creator 创建和销毁节点(官方文档摘录)

创建新节点除了通过场景编辑器创建节点外,我们也可以在脚本中动态创建节点。通过 new cc.Node() 并将它加入 到场景中,可以实现整个创建过程。以下是一个简单的例子:cc.Class({ extends: cc.Component, properties: { sprite: { default: null, type: cc.SpriteFrame

2016-11-30 18:49:47 7742 1

转载 Cocos Creator 生命周期回调(官方文档摘录)

Cocos Creator 为组件脚本提供了生命周期的回调函数。用户通过定义特定的函数回调在特定的时期编写相关 脚本。目前提供给用户的声明周期回调函数有:onLoadstartupdatelateUpdateonDestroyonEnableonDisableonLoad组件脚本的初始化阶段,我们提供了 onLoad 回调函数。onLoad 回调会在这个组件所在的场景被载入 的时候触发,在 onL

2016-11-30 18:48:16 11049 1

转载 Cocos Creator 常用节点和组件接口(官方文档摘录)

在通过访问节点和组件介绍的方法获取到节点或组件实例后,这篇文章将会介绍通过节点和组件实例可以通过哪些常用接口实现我们需要的种种效果和操作。这一篇也可以认为是 cc.Node 和 cc.Component 类的API阅读指南,可以配合 API 一起学习理解。节点状态和层级操作假设我们在一个组件脚本中,通过 this.node 访问当前脚本所在节点。关闭/激活节点this.node.active =

2016-11-30 18:34:58 9133 1

转载 Cocos Creator 访问节点和组件(官方文档摘录)

你可以在 属性检查器 里修改节点和组件,也能在脚本中动态修改。动态修改的好处是能够在一段时间内连续地修改属性、过渡属性,实现渐变效果。脚本还能够响应玩家输入,能够修改、创建和销毁节点或组件,实现各种各样的游戏逻辑。要实现这些效果,你需要先在脚本中获得你要修改的节点或组件。在本篇教程,我们将介绍如何获得组件所在的节点获得其它组件使用 属性检查器 设置节点和组件查找子节点全局节点查找访问已有变量里的值

2016-11-30 18:19:40 1609

转载 Cocos Creator使用 cc.Class 声明类型(官方文档摘录)

使用 cc.Class 声明类型cc.Class 是一个很常用的 API,用于声明 Cocos Creator 中的类,为了方便区分,我们把使用 cc.Class 声明的类叫做 CCClass。定义 CCClass调用 cc.Class,传入一个原型对象,在原型对象中以键值对的形式设定所需的类型参数,就能创建出所需要的类。var Sprite = cc.Class({ name: "spr

2016-11-30 18:15:24 3384

转载 调度器(scheduler(摘自官方文档)

##继承关系##原理介绍Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处:每当Node不再可见或已从场景中移除时,调度器会停止。Cocos2d-x暂停时,调度器也会停止。当Cocos2d-x重新开始时,调度器也会自动继续启动。Cocos2d-x封装了一个供各种不同平台使用的调度器,使用此调度器你不用关心和跟踪你所设定的定时

2016-11-30 17:24:18 1393

转载 Cocos Creator 基础概念介绍——导演、场景、层、精灵

在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node)。可以执行Action来修改游戏节点的属性,使其移动、旋转、放大、缩小等等。每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程,游戏流程的管理由Director来执

2016-11-30 17:22:57 7591

转载 cocos2d-x架构和目录结构(摘自官方文档)

1. Cocos2d-x1.1 架构1.2目录结构从github下载Cocos2d-x repo资源包后,或解压稳定版ZIP压缩包后,就会看到如下的目录结构:目录名称说明CocosDenshion音频支持。注意:Android平台中背景音乐和短音效所使用的系统API不同。cocos2dxCocos2d-x框架的主目录。document你可以下载doxygen文档系统,利用该系统打开本文档文件夹内的

2016-11-30 17:02:08 4028

转载 Cocos API风格说明(摘自官方文档)

适用版本:v3.0-beta2及更高版本两阶段构造器及静态create()函数在Cocos2d-x引擎中,我们使用了两阶段构造器,这不仅指Objective-C实现文件(implementation),也与Symbian SDK及Bada SDK相似。我认为这一举措在C++编程中很不错。第一阶段是运行C++类构造器。在C++类的默认构造器中,成员变量须设定为默认值。但我们不应在默认构造器中编写任何

2016-11-30 17:00:48 576

原创 Cocos Creator的数据管理

1.cocos creator 全局变量  a.使用全局模块,定义全局变量,通过引用模块达到目的  b.常驻node, 该node存在于每一个场景, 通过索引node, 达到数据全局化

2016-11-30 16:57:34 2366

转载 Express框架详解

转载:http://javascript.ruanyifeng.com/nodejs/express.html概述Express是目前最流行的基于Node.js的Web开发框架,提供各种模块,可以快速地搭建一个具有完整功能的网站。Express的上手非常简单,首先新建一个项目目录,假定叫做hello-world。$ mkdir hello-world进入该目录,新建一个package.json文件

2016-09-08 20:34:05 7743

转载 使用COPY声明NSSTRING属性

声明一个NSString属性使用copy要优于使用strong。这同样适用于遵守NSCoding协议的不可变类(immutable class),如NSNumber、NSArray、NSSet等。上面提到的这些类都有一个可变(mutable)的版本。选择使用copy的理由是,NSString属性可能被传入一个NSString实例,也可能是一个NSMutableString实例。当传入了一个NSMu

2016-05-18 22:09:07 1138

转载 [Unity插件]DOTween(3)

DOTween是一个快速,高效,完全统一的类型安全的对象属性动画引擎,免费开源,大量的高级特性.DoTween兼容Unity4.5以上的版本,支持的平台: Win, Mac, Unity WebPlayer, WebGL, iOS, Android,Windows Phone 8, Windows Store, PS Vita (PSM), PS4,Xbox One平台,官网地址: http://

2016-03-15 18:33:53 3290

转载 [Unity插件]DOTween(2)

官方网站:http://dotween.demigiant.com/下载地址:http://dotween.demigiant.com/download.php快速开始:http://dotween.demigiant.com/getstarted.php官方文档:http://dotween.demigiant.com/documentation.php 一、准备工作1、下载 DOTween,解

2016-03-15 15:50:21 2765

转载 [Unity插件]DOTween基础

官方文档链接:http://dotween.demigiant.com/documentation.php#globalSettings普通版下载地址:http://dotween.demigiant.com/download.phppro版下载地址:http://pan.baidu.com/s/1dEzTQkL(pro版提供DOTween Animation和DOTween Path这两个组件,

2016-03-14 16:38:29 31668

转载 Unity学习笔记(5) --- Unity的界面排版:AutoLayout详解——关于高度height的计算

该文转自:原文链接,写的是深入浅出,如果你也觉得精彩,可以移步去打赏一下。首先看一个例子,新建一个Panel,在下面添加两个Button,分别命名为Button、Button2。1、给Panel添加一个VerticalLayoutGroup组件,ChildForceExpand属性中勾上Width。2、给Button、Button2添加LayoutElement组件,其中Button的Flexib

2016-01-21 17:47:41 7785

转载 Unity学习笔记(4) --- Unity的界面排版: RectTransform

看Unity3D文档像看国内教课书一样,一些概念,不懂的时候看还是不懂,明白了以后再看,好像也没有说错。好几个做Unity3D的朋友跟我吐槽过U3D的文档质量,相比Apple贴心的技术文档相去甚远。话虽这么说,权威的资料当然还是官方的,建议先仔细读一遍,不懂的再往下读:http://docs.unity3d.com/Manual/UISystem.html网上的教程大多泛泛而谈,就不吐槽了。好在还

2016-01-21 17:21:13 7685 1

翻译 Unity学习笔记(4) --- Unity的界面排版:初识GUI

GUI和GUILayout是Unity提供的UIKit,在使用GUI的Controls时都要求设置Rect参数,没办法做到自动排版,给适配带来难度。而GUILayout的设计就是为了弥补这个缺陷,GUILayout是在GUI的基础之上复合了一套Layout的排版逻辑。GUIclass in UnityEngineDescriptionThe GUI class is the interface f

2015-12-11 17:02:06 3218

原创 Unity学习笔记(3) --- Unity的界面排版:初识GUILayout

GUILayout 界面布局The GUILayout class is the interface for Unity gui with automatic layouting.GUILayout类是用于GUI自动布局的接口。Class Functions类函数LabelMake an auto-layout label.创建一个自动布局的标签。BoxMake an auto-layout bo

2015-12-11 15:37:59 7308

原创 Unity学习笔记(2) --- Unity脚本的生命周期

相关文档:Execution Order of Event Functions1、function Update () {} 正常更新,用于更新逻辑。此方法每帧都会由系统自动调用一次。2、function LateUpdate () {} 推迟更新,此方法在Update() 方法执行完后调用,同样每一帧都调用。3、function Awake () {} 脚本唤醒,此方法为系统执行的第一个方法,用

2015-12-10 13:01:26 2761

原创 Unity学习笔记(1) --- 一切皆组件

Unity有个组件(Component)商店,觉得,这种完全基于组件的顶层结构设计,简直帅呆了!首先明确的一点是,Unity的核心就是一切皆Component。那么到底什么是“基于组件”的对象模型 ?它能够解决什么问题?在传统的结构设计中一般会使用“派生”来描述对象之间的关系。子类通过派生父类,来获得父类的功能。在设计游戏对象时,会根据游戏本身的需要而为游戏对象添加各种功能支持,比

2015-12-08 16:42:59 2964

原创 Autolayout的一点理解

Autolayout

2015-10-22 15:11:56 1526

转载 Objective-C如何自己实现一个基于数组下标的属性访问模式

在iOS6.0以及OS X10.8之后,Apple引入了一套非正式协议(informal protocol)与Objective-C语法直接绑定。当你实现了这其中的方法之后即可使用数组下标来访问属性元素。在Foundation库中,NSArray类实现了- (id)objectAtIndexedSubscript:(NSUInteger)idx方法。因此,我们可以这么来访问数组元素:

2015-03-27 09:53:29 3200

转载 Facebook经验:如何保证不同网络环境下的应用体验

在刚刚结束的@Scale 2014大会上,Facebook分享了关于移动应用适配方面的演讲,High Scalability在相关演讲的基础上进行了整理。如何保证移动应用在不同的网络环境、不同的屏幕上都有良好的用户体验一直是个难题,而Facebook有遍及全球的用户,他们一直致力于提高用户体验,在大会上,Facebook重点从团队、技术方面分享了他们的经验。一开始,Facebook的应

2015-03-05 17:49:36 1506

转载 Objective-C 中Self 和 Super 详解

Objective-C 中Self 和 Super 详解本文要介绍的内容,在 Objective-C 中的类实现中经常看到这两个关键字 self 和 super,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”s

2015-03-05 17:43:17 2821 3

转载 IOS 整体框架类图

Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。1、Cocoa是什么?Cocoa是OS X和 iOS操作系统的程序的运行环境。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的

2015-03-05 17:13:41 2521 2

提示
确定要删除当前文章?
取消 删除