zoukankan      html  css  js  c++  java
  • lufylegend:动画

    1.动画1

    <script type="text/javascript">
    var loader,anime,layer;  
    
    //初始化画布
    init(200, "mylegend", 500, 350, main);
    
    //初始化回调函数
    function main() {
        //加载图片资源
        loader = new LLoader();  
        loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);  
        loader.load("chara.png","bitmapData");  
    }
    //图片加载完成后回调函数
    function loadBitmapdata(event) {
        //LBitmapData用于进一步构造一个Bitmap对象  
        //LBitmapData四个构造参数含义:图像资源,从原图中开始截取的原点坐标(x,y),截取的宽度和高度
        var bitmapdata = new LBitmapData(loader.content, 0, 0, 64, 64);
        ////将原图分割为动画帧,此对象封装了分割方式,将原图分割成4*4
        var list = LGlobal.divideCoordinate(256,256,4,4);
         //加入层LSprite
        layer = new LSprite();
        addChild(layer);
        //得到一个animate对象,参数:层,bitmapData,分割方式  
        anime = new LAnimation(layer, bitmapdata, list);
        //循环动画
        layer.addEventListener(LEvent.ENTER_FRAME,onframe);
    }
    //此函数会被反复调用  
    //以帧速率调度此事件。 
    function onframe(){
        anime.onframe();
    }
    </script>

    2.动画2

    <script type="text/javascript">
    var loader,anime,layer;  
    init(200,"mylegend",500,350,main);
    function main(){  
        loader = new LLoader();  
        loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);  
        loader.load("chara.png","bitmapData");  
    }  
    function loadBitmapdata(event){  
        var bitmapdata = new LBitmapData(loader.content,0,0,64,64);  
        var list = LGlobal.divideCoordinate(256,256,4,4);
         //加入层LSprite
        layer = new LSprite();
        addChild(layer);
    
        //动画操作一般有这几种:1,设置动画 2,获取动画信息 3,添加动画监听事件 4,播放动画
        anime = new LAnimation(layer, bitmapdata, list);
    
        layer.addEventListener(LEvent.ENTER_FRAME,onframe);
    }  
    function onframe() {
        //getAction方法,获取动画信息
        var action = anime.getAction();
        switch(action[0]){
            case 0:
                //人物下行
                layer.y += 5;
                if (layer.y >= 200) {
                    //setAction方法,设置动画
                    anime.setAction(2);
                }
                break;
            case 1:
                //人物左行
                layer.x -= 5;
                if(layer.x <= 0){
                    anime.setAction(0);
                }
                break;
            case 2:
                //人物右行
                layer.x += 5;
                if(layer.x >= 200){
                    anime.setAction(3);
                }
                break;
            case 3:
                //人物上行
                layer.y -= 5;
                if(layer.y <= 0){
                    anime.setAction(1);
                }
                break;
        }
        //onframe方法,播放动画
        anime.onframe();
    }
    </script>
  • 相关阅读:
    压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate .
    [转](多实例)mysql-mmm集群
    mysql的MMM高可用方案
    压力测试工具
    memcached 的简介、安装、命令
    memcached 最大连接数及其内存大小的设置
    mysql优化
    mysql
    30道Linux面试题
    门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/4449352.html
Copyright © 2011-2022 走看看