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

原文地址:https://www.cnblogs.com/lx-hhxxttxs/p/6186395.html