cocos2d-lua cc.Sprite api

1.      普通创建

var sprite = new cc.Sprite(“从loader加载的资源名称”);

 

2.      设置中点

sprite. setAnchorPoint(0~1, 0~1); // x、y的坐标

或者:

sprite.setAnchorPoint(cc.p(x, y)); // 同上

 

3.      x/y坐标(图片中点的坐标)

sprite.setPosition(x, y);

或者

sprite.setPosition(cc.p(x, y));

 

4.      缩放

sprite. setScale(0.5); // 变为原本的0.5

sprite.setScale(0.5, 1); // x轴缩小到0.5,y轴保持不变

 

5.      图片翻转

sprite.flippedX = true; // X轴翻转

sprite.flippedY = true; // Y轴翻转

 

6.      设置透明

sprite.setOpacity (175); // 透明度 0 ~255,0是全透明

 

7.      颜色过滤效果

sprite.setColor(cc.color(0,255,255, 255)); // 蓝色过滤效果

 

 

8.      获取图片的box信息

var box = sprite.getBoundingBox(); // 包含x/y/width/height

 

9.      读取图片的某一片段

sprite.setTextureRect(cc.rect(x, y, width, height));//cc.rect的起点在左下角

// 从图片的(x,y)点开始,截取width、height部分显示

 或者:

 varsprite = new cc.Sprite(“res.png”, cc.rect(x,y, w, h)); // 解析同上

 

 

10.   更换图片资源

Sprite.setTexture(“更换的图片名称”); // 注意,如果设置过textureRect,可能因为图片坐标、大小变化,而看不见新的图片

或:

// 很麻烦的说~

var texture = newcc.Texture2D();

texture.initWithElement(img);//img 是cc.loader.loadImg的 img

texture.handleLoadedTexture();

sprite.setTexture(texture);

或:

// 在setTexure的源码里,有这么一种写法

// 就是不知道addImage的图片,是不是一定要先经过cc.loader的了~

var texture = cc.textureCache.addImage(“图片名称”);

sprite.setTexture(texture);

// 后边可不要~

var size = texture.getContentSize();

sprite.setTextureRect(cc.rect(0,0,size.width, size.height));

 

11.   重设zIndex

parent. reorderChild(sprite, zIndex); // 找到父亲,重新设置zIndex

posted on 2016-12-16 12:36  空幻无灵  阅读(377)  评论(0编辑  收藏  举报

导航