Cocos商店:CocosCreatorjs动画精灵

关于Cocos商店的问题,在spritesheet creator中经常遇到, 我使用精灵表和更新函数制作了一个精灵的动画,如下所示:

我使用精灵表和更新函数制作了一个精灵的动画,如下所示:

注意:我已经将 plist 拖动到 Ccos Creator UI 中的 sprite 节点(monster.js 脚本附加到的同一节点)的 atlas 字段中。

//monster.js
onLoad: function(){
// change monsters face
            this.faces['1'] =  'monster1';
            this.faces['2'] =  'monster2';
            this.faces['3'] =  'Rmonster1';
            this.faces['4'] =  'Rmonster2';
}
    update: function (dt) {
    this.timekeep += dt;
    if(this.timekeep > 0.1){
var self = this;
          cc.loader.loadRes('monsters', cc.SpriteAtlas, function (err, atlas) {
  self.getComponent(cc.Sprite).spriteFrame = atlas.getSpriteFrame(self.faces[self.monstersN]);
});     
                this.timekeep = 0;
                this.monstersN++;
                if(this.monstersN > 4){
                    this.monstersN = 1;
                }
            }

它实际上工作正常。我已经认为我应该将 cc.loader.loaderRes 导出到 onLoad 函数中,并将阿特拉斯保存为全局 var,而不是每次调用更新时加载。

然而...看到有内置的动画功能,这不可能是正确的解决方案。

onLoad: function () {
            // change monster face
            this.faces['1'] =  'monster1';
            this.faces['2'] =  'monster2';
            this.faces['3'] =  'Rmonster1';
            this.faces['4'] =  'Rmonster2';
            var self = this;
                  cc.loader.loadRes('monsters', cc.SpriteAtlas, function (err, atlas) {
var sprite = self.getComponent(cc.Sprite);
        var animFrames = [];
 for (var i = 1; i < 4; i++) {   
     var spriteFrame = atlas.getSpriteFrame(self.faces[i]);
        var animFrame = new cc.AnimationFrame();
            animFrame.initWithSpriteFrame(spriteFrame, 1, null);
        animFrames.push(animFrame);
 }      
 var animation = sprite.Animation.create(animFrames, 0.2, 100);
    var animate   = sprite.Animate.create(animation); 
    sprite.runAction(animate); 
              });    
        },

我得到这个错误:

cc.AnimationFrame 不是构造函数

所以我尝试了这个:

onLoad: function () {
            // change monster face
            this.faces['1'] =  'monster1';
            this.faces['2'] =  'monster2';
            this.faces['3'] =  'Rmonster1';
            this.faces['4'] =  'Rmonster2';
            var self = this;
                  cc.loader.loadRes('monsters', cc.SpriteAtlas, function (err, atlas) {
self.atlasA = atlas;
              });    
 var sprite = this.getComponent(cc.Sprite);
        var animFrames = [];
 for (var i = 1; i < 4; i++) {   
     var spriteFrame = this.atlasA.getSpriteFrame(this.faces[i]);
    var animFrame = new cc.AnimationFrame();
        animFrame.initWithSpriteFrame(spriteFrame, 1, null);
    animFrames.push(animFrame);
 }      
 var animation = sprite.Animation.create(animFrames, 0.2, 100);
var animate   = sprite.Animate.create(animation); 
sprite.runAction(animate); 
        },

我得到这个错误:

无法读取未定义的属性“getSpriteFrame”

如何使用 cc.animate 使用 spritesheet 更改精灵我想要实现的是按照图像在 plist 中的顺序移动 plist,重复直到怪物被放回它来自的池中。

2

这里是任何可能仍在寻找的人的解决方案.....

cc.AnimationClip.createWithSpriteFrames([sf1, sf2, ...], fps)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(687)
Cpu高怎么解决:Nodejs高 CPU使用率
上一篇
Mentor软件:前端导师休息国家 Api(api mentor)
下一篇

相关推荐

  • css参考手册:标题

    CSS参考手册是一本关于CSS语言的参考书,由W3C组织出版,包含了CSS语言的完整语法、属性、值和案例等。它提供了一个完整的CSS语言参考,可以帮助开发者快速学习和使用CSS语言,从而更好地创建网页。…

    2023-06-29 01:40:51
    0 69 78
  • css登录界面模板代码:登录你的账号,开启新的旅程

    CSS登录界面模板代码是一种使用CSS来制作登录界面的代码,它可以帮助开发者快速制作出美观且易于使用的登录界面,以下是一个简单的CSS登录界面模板代码:…

    2023-05-06 06:17:54
    0 58 95
  • css鼠标移入移出:标题

    CSS鼠标移入移出,可以使用CSS中的:hover伪类来实现,代码如下:上面的代码表示,当鼠标移入.example元素时,将其文字颜色改为白色。…

    2023-04-28 12:13:20
    0 87 96
  • css自动换行:标题

    CSS自动换行可以使用CSS的word-wrap属性来实现,代码如下:该属性有两个可选值:…

    2023-11-21 11:03:53
    0 45 53
  • css布局技巧:和3个段落 标题 段落1 段落2 段落3

    CSS布局技巧是指使用CSS来实现页面布局的方法。这些技巧可以帮助开发人员快速实现页面布局,并且可以更好地控制页面的外观和行为。…

    2023-04-17 01:31:53
    0 88 58
  • css 超出自动换行:这是一个标题

    css 超出自动换行,可以使用 css 的 word-wrap 属性来实现,该属性允许长单词或 URL 地址换行到下一行。代码如下:…

    2023-04-08 01:41:59
    0 56 28
  • javascript 匿名函数:利用JavaScript匿名函数实现功能

    javascript 匿名函数是没有函数名称的函数,它可以被存储在变量中,或者作为参数传递给其他函数。它使用一对圆括号来定义,并可以包含参数列表和函数体。…

    2023-07-27 11:59:11
    0 61 32
  • css出现滚动条控制页面内容的浏览

    当页面内容超出浏览器窗口的大小,会出现滚动条,可以通过CSS来控制。例如:…

    2023-06-05 08:29:43
    0 16 33

发表评论

登录 后才能评论

评论列表(24条)