sprite实现动画

sprite实现动画

ID:32367073

大小:64.00 KB

页数:4页

时间:2019-02-03

sprite实现动画_第1页
sprite实现动画_第2页
sprite实现动画_第3页
sprite实现动画_第4页
资源描述:

《sprite实现动画》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Sprite实现动画上一篇,我已经模仿as,加入了LBitmap和LBitmapData类,并且用它们实现了静态图片的显示。这次用Sprite来动态显示图片。依然遵循上一篇对显示对象的处理的思路,添加LSprite类,并追加show方法,如下:functionLSprite(){    varself=this;    self.type="LSprite";    self.x=0;    self.y=0;    self.visible=true;    self.childList=newArray

2、()}LSprite.prototype={    show:function(cood){        if(cood==null)cood={x:0,y:0};        varself=this;        if(!self.visible)return;        LGlobal.show(self.childList,{x:self.x+cood.x,y:self.y+cood.y});    },    addChild:function(DisplayObject){      

3、  varself  =this;        self.childList.push(DisplayObject);    }}复制代码因为Sprite上可以有图片等其他的可显示对象,所以我在其构造函数里,添加了childList,用来保存它上面的所有对象。然后在调用它本身的show方法的时候,将其LGlobal循环现实其子对象。这样一来,我们上一篇中显示图片的代码,也可以利用Sprite来显示了,代码如下:functionmain(){    loader=newLLoader();    loade

4、r.addEventListener(LEvent.COMPLETE,loadBitmapdata);    loader.load("1.png","bitmapData");}functionloadBitmapdata(event){    varbitmapdata=newLBitmapData(loader.content);    varmapimg=newLBitmap(bitmapdata);        varbackLayer=newLSprite();    addChild(bac

5、kLayer);    backLayer.addChild(mapimg);}复制代码我们知道,actionscript中的Sprite可以添加EnterFrame事件,用来动态显示图片,我这里也来模仿一下,因为在LSprite类中show方法是不断循环的,所以,我只需要在show方法中不断调用一个方法,就能让其循环。我假设有一个数组,里面存储了所有不断循环的所有方法,然后我就可以在show方法中循环这个数组,这样就达到了所有方法的循环,看下面functionLSprite(){    varself=t

6、his;    self.type="LSprite";    self.x=0;    self.y=0;    self.visible=true;    self.childList=newArray()    self.frameList=newArray();}LSprite.prototype={    show:function(cood){        if(cood==null)cood={x:0,y:0};        varself=this;        if(!self.vi

7、sible)return;        LGlobal.show(self.childList,{x:self.x+cood.x,y:self.y+cood.y});        self.loopframe();    },    loopframe:function(){        varself=this;        varkey;        for(keyinself.frameList){            self.frameList[key]();        }    

8、},    addChild:function(DisplayObject){        varself  =this;        self.childList.push(DisplayObject);    }}复制代码光假设当然是不行的,我们需要有添加这个循环事件的方法,所以我们还需要addEventListener方法,以及移除这个事件的removeEventListener方法addEventLi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。