精灵类是cc.Sprite,它的类图如下图所示。cc.Sprite类直接继承了cc.Node类,具有cc.Node基本特征。

创建Sprite精灵对象

创建精灵对象可以使用构造函数实现,它们接受相同的参数,这些参数非常灵活。归纳起来创建精灵对象有4种主要的方式:
1. 根据图片资源路径创建

  1. //图片资源路径
  2. var sp1 = new cc.Sprite("res/background.png");
  3. //图片资源路径和裁剪的矩形区域
  4. var sp2 = new cc.Sprite("res/tree.png",cc.rect(604, 38, 302, 295))

2. 根据精灵表(纹理图集)中的精灵帧名创建

  1. //图片资源路径
  2. var sp1 = new cc.Sprite("res/background.png");
  3. //图片资源路径和裁剪的矩形区域
  4. var sp2 = new cc.Sprite("res/tree.png",cc.rect(604, 38, 302, 295))

由于这种方式与图片资源路径创建它们的参数都是一个字符串,那么为了区分是精灵帧名还是图片资源路径,在精灵帧名前面加上井号(#)表示。

3. 根据精灵帧创建 
我们可以通过精灵帧缓存中获得精灵帧对象,再从精灵帧对象中获得精灵对象。

  1. //精灵帧缓存
  2. var spriteFrame = cc.spriteFrameCache.getSpriteFrame("background.png");
  3. var sprite = new cc.Sprite(spriteFrame);

4. 根据纹理创建精灵
//创建纹理对象

  1. var texture = cc.textureCache.addImage("background.png");
  2. //指定纹理创建精灵
  3. var sp1 = new cc.Sprite(texture);
  4. //指定纹理和裁剪的矩形区域来创建精灵
  5. var sp2 = new cc.Sprite(texture, cc.rect(0,0,480,320));
更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》

本书交流讨论网站:http://www.cocoagame.net

欢迎加入Cocos2d-x技术讨论群:257760386

更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com

《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11659698.html

欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

Cocos2d-JS中的Sprite精灵类的更多相关文章

  1. js中使用function定义类、实例化,函数的调用方法

    function Test002(name, age){ name, age, this.printInfo = function(){ //定义的公有方法 console.log(name, age ...

  2. Cocos2d-x Lua中Sprite精灵类

    精灵类是Sprite,它的类图如下图所示. Sprite类图 Sprite类直接继承了Node类,具有Node基本特征.此外,我们还可以看到Sprite类的子类有:PhysicsSprite和Skin ...

  3. Python游戏引擎开发(五):Sprite精灵类和鼠标事件

    本次来实现Sprite类和鼠标事件. 说起这个Sprite啊,涉及过2D游戏研究领域的看官应该都听说过它. 它中文原意是"精灵",只是在不同人的眼中,它所表示的意义不同. 比方说在 ...

  4. 《JS权威指南学习总结--9.3 JS中JAVA式的类继承》

    内容要点: 一.JS中的类 1.JAVA或其他类似强类型 面向对象语言的 类成员的模样 实例字段:它们是基于实例的属性或变量,用以保存独立对象的状态. 实例方法: 它们是类的所有实例所共享的方法,由每 ...

  5. js中的面向对象--类似于类的概念

    创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 使用object va ...

  6. Cocos2d-x 3.1.1 学习日志7--7分钟让你了解cocos2d-x3.1.1 Sprite精灵类

    精灵(Sprite)是游戏里面的角色,比方敌人.游戏里面运动的物体等等,所以精灵是游戏里面一个很常见的概念.差点儿无处不在. 在Cocos2D-x里面精灵是用Sprite类来进行表示的,它能够用一张图 ...

  7. 32.Node.js中的常用工具类util

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScrip ...

  8. js中的节点遍历+类数组对象

    firstChild  第一个子元素 lastChild  最后一个子元素 childNodes[n]  =   childNodes.item(n)    第n+1个子元素 parentNode  ...

  9. js中java式的类成员

    function Range(from,to,x){ //实例(对象)字段 this.x=x; } //类字段 Range.Y="类字段"; //类方法 Range.s=funct ...

随机推荐

  1. SGU 532. Building Foundation 暴力

    532. Building Foundation 题目连接: http://acm.sgu.ru/problem.php?contest=0&problem=532 Description A ...

  2. Codeforces Good Bye 2015 C. New Year and Domino 前缀和

    C. New Year and Domino 题目连接: http://www.codeforces.com/contest/611/problem/C Description They say &q ...

  3. iOS开发——多线程OC篇&多线程详解

    多线程详解 前面介绍了多线程的各种方式及其使用,这里补一点关于多线程的概念及相关技巧与使用,相信前面不懂的地方看了这里之后你就对多线程基本上没有什么问题了! 1——首先ios开发多线程中必须了解的概念 ...

  4. 项目源码--Android迷幻岛屿综合游戏

    下载源码 技术要点: 1.游戏开发综合技术 2.多线程机制实现游戏逻辑 3.自定义控件,系统控件等综合图层的使用 4.图层素材动画的综合技术 5.游戏算法的实现 6. OpenGL ES的综合使用 7 ...

  5. MySQL ALTER语法的运用方法 && 操作索引和字段

    语法:alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD INDEX [in ...

  6. C# 之 user32函数库

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  7. 2015 FVDI V6.3 Software Free Download

    2015 FVDI with software USB dongle has newly upgraded to V6.3. Here software upgrade list: ABRITES C ...

  8. iOS菜鸟总结1

    我从第一次接触OC,我觉得想要学好就必须有提前的知识的储备(比如c,java).这样就可更好了解面向对象的这一思想.学起来就不是很吃力了,本来OC就是比较难学的语言.工欲善其事,必先利其器,Xcode ...

  9. spring事务管理出错。No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy ...

  10. Amazon全场满$35减$5 (需Facebook)

    在Amazon.com上建一个Wish List(创建Wish List后须点击“Manage your lists”,在“Privacy”那一栏选择“Public”或“Shared”,再回到这个链接 ...