如何在 cocos2d-js 中使用 getFrames?
how to use getFrames in cocos2d-js?
我是 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() 功能来 return ccanimation 帧数组。我只是想获取屏幕上正在动画显示的图片的信息,例如,如果 #dieRed1.png
正在动画显示或在屏幕上可见,它将显示值或 return 值的 1. 我曾尝试用谷歌搜索,但在那里找不到任何其他线索。如果有更好的方法,我也很乐意看到。无论如何,对英语感到抱歉,有点困惑如何安排单词。谢谢:)
好的,所以参考
the official docs
{Array} getFrames()
Returns the array of animation frames
这意味着你可以这样做:
var frames = animation.getFrames();
获取数组。然后你会收到一个 cc.AnimationFrame 的数组。
要获得精灵 link 做:
var frame = frames[0];//cc.AnimationFrame
var spriteFrame = frame.getSpriteFrame(); //cc.SpriteFrame
var texture = spriteFrame.getTexture(); // cc.Texture
并且纹理本身应该具有 name
属性,它可以完成这项工作。
我是 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() 功能来 return ccanimation 帧数组。我只是想获取屏幕上正在动画显示的图片的信息,例如,如果 #dieRed1.png
正在动画显示或在屏幕上可见,它将显示值或 return 值的 1. 我曾尝试用谷歌搜索,但在那里找不到任何其他线索。如果有更好的方法,我也很乐意看到。无论如何,对英语感到抱歉,有点困惑如何安排单词。谢谢:)
好的,所以参考 the official docs
{Array} getFrames()
Returns the array of animation frames
这意味着你可以这样做:
var frames = animation.getFrames();
获取数组。然后你会收到一个 cc.AnimationFrame 的数组。 要获得精灵 link 做:
var frame = frames[0];//cc.AnimationFrame
var spriteFrame = frame.getSpriteFrame(); //cc.SpriteFrame
var texture = spriteFrame.getTexture(); // cc.Texture
并且纹理本身应该具有 name
属性,它可以完成这项工作。