framesSprite - shinku/miki-es6 GitHub Wiki

framesSprite

extends DisplayObject

framesSprite 是序列帧播放的类。继承自DisplayObject 。这也意味着他拥有DisplayObjcet 拥有的公开方法和属性。

方法们

  • addTag (texure:texture,tagename:string) 增加贴图。tagname为帧的名称。texture 可以是一个textureloader的texture对象,也可以是一个resource.getResourceByName方法获取的texture对象
  • addTagByGroup(group:Array,tagname:strinf)
    增加贴图列表,group可以是一个resource.getResourceByGroupName 方法获取到的贴图数组。
  • playTagName(tagname:string,isLoop:boolean=true)
    播放特定标签的序列帧
    tagname:通过addTag或者addTagByGroup增加的tagname
    isLoop:是否循环播放,默认为循环播放
  • pause()
    暂停播放

sample 1

//通过addTag 添加序列帧资源
import {frameSprite,resource} from 'miki';

......首先进行一些资源载入的初始化工作

//mysprite 继承
class mysprite extends frameSprite{
   constructor(){
        super();
         this.addEventListener('addedtostage',this.handleAdded,this);
        for(var i=1;i<=13;i++)
        {
            //假设已经又了以名为cow1-cow13的一批资源。通过resource.getResourceByName获取资源。
            let texture=resource.getResourceByName(`cow/${i}`);
            //增加为名walkcow的animation tag
            this.addTag(texture.texture,'walkcow');
        }
       
   }
   handleAdded(e){
      //按顺序播放名为walkcow的一批贴图资源
      this.playTagName('walkcow');
   }
}

......
const _cow =new mysprite ();
stage.addChild(_cow);

sample2

//通过addTag 添加序列帧资源
import {frameSprite,resource} from 'miki';

......首先进行一些资源载入的初始化工作

//mysprite 继承
class mysprite extends frameSprite{
   constructor(){
        super();
         this.addEventListener('addedtostage',this.handleAdded,this);
         let group=resource.getResourceByGroupName('coins');
        this.addTagByGroup(group,'init');
        this.addEventListener('addedtostage',this.handleAdded,this);
       
   }
   handleAdded(e){
      //按顺序播放名为init的一批贴图资源
      this.playTagName('init');
   }
}

......
const _cow =new mysprite ();
stage.addChild(_cow);

资源加载的方式可以通过 resource 对象描述查看