我是cocos2d-js的新手,我刚刚创建了这段代码:`
var that = this;
that._dice
// add player
// create sprite sheet
cc.spriteFrameCache.addSpriteFrames(res.dice_plist);
var spriteSheet = new cc.SpriteBatchNode(res.diceRed_png);
that.addChild(spriteSheet, 2);
// init runningAction
var animFrames = [];
for (var i = 1; i < 7; i++) {
var str = "dieRed" + i + ".png";
var frame = cc.spriteFrameCache.getSpriteFrame(str);
animFrames.push(frame);
}
var animation = new cc.Animation(animFrames, 0.1);
that.runningAction = new cc.Repeat.create(new cc.Animate(animation), Math.random()*10);
var diceSprite = new cc.Sprite("#dieRed1.png");
diceSprite.visible = true;
console.log(this.getContentSize(diceSprite));
diceSprite.runAction(this.runningAction);
that._dice.push(diceSprite);
var size = cc.winSize;
spriteSheet.setPosition(size.width/6.5, size.height/1.20);
spriteSheet.setAnchorPoint(0.5, 0.5);
spriteSheet.addChild(diceSprite, 2);
`
我希望使用getFrames()功能返回ccanimation帧数组。我只是想在屏幕上获取哪些图片的动画信息,例如,如果#dieRed1.png
在屏幕上被动画或可见,它将显示值或返回值为1。曾试图用Google搜索,但在那里找不到任何其他线索。如果有更好的方法,我也很乐意看到它。不管怎样对不起英语,有点困惑如何安排单词。谢谢你:))
答案 0 :(得分:0)
好的,所以参考 the official docs
{Array} getFrames()
返回动画帧数组
这意味着您可以这样做:
var frames = animation.getFrames();
获取阵列。然后你将收到一个cc.AnimationFrame数组。 获取精灵链接:
var frame = frames[0];//cc.AnimationFrame
var spriteFrame = frame.getSpriteFrame(); //cc.SpriteFrame
var texture = spriteFrame.getTexture(); // cc.Texture
纹理本身应该具有可以完成工作的name
属性。