魔法精灵,中秋快乐!

这两天做了一个组件,方便在一些场景中切换精灵帧!请看下图演示:

  1. 拖动MagickSprite到编辑器上
  2. 设置SpriteFrames数据长度
  3. 为SpriteFrames设置精灵帧图片
  4. 通过index属性切换显示的精灵帧,当index大于SpriteFrames.length时从0开始
  5. 通过spriteNames属性切换显示的精灵帧,它会与index联动

事件连接器
http://v.youku.com/v_show/id_XMzA2OTYwMDc4OA==.html

定时器、事件连接器、魔法精灵
http://v.youku.com/v_show/id_XMzA3MjM0NjE2OA==.html

#关注奎特尔星球公众号,一起开脑洞吧

哎哟,不错哟

还有好玩的,我在尝试不增加新的脚本文件基础上实现控制节点和组件的控制

1赞

https://github.com/ShawnZhang2015/uikiller

组件在dev分支上

1赞

真会玩

找不到的?能说细点吗?我搜索整个文件夹,都找不到dev这个文件

//先克隆uikiller仓库
git clone git@github.com:ShawnZhang2015/uikiller.git
//进入项目
cd uikiller
//切换到dev分支
git checkout dev

操作没错了,再用creator打开工程,找到test-magicksprite的场景运行

请问,这个组件在什么时候用到?

一个精灵,在运行时可能会切换贴图时可用,比如有些按钮不同状态时表现不一样,如果cc.Button不好控制,可以尝试用MagickSprite。

这种情况应该封装成一个组件,而不是零散的切换图片

MagickSprite是一个组件,他是在cc.Sprite继承下来的,可设置多张SpriteFrame,通过index或name进行切换,不需要在代码中用cc.loader.loadRes切换了;
还有些做法是在某个节点的自定义组件上定义一个SpriteFrame的数组,然后通过设置Sprite的spriteFrame属性来切换,MagickSprite这种方法简化了以上的做法。

1赞