天天看點

lufylegend:圖檔的加載和顯示

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="utf-8" />
	<script type="text/javascript" src="../lufylegend-1.7.6.min.js"></script> 
</head>
<body>
<div id="mylegend">loading...</div>
<script type="text/javascript">

    /*function:lufylegend圖檔的加載和顯示*/

    var loader;

    //引擎初始化
    init(50, "mylegend", 500, 300, main);

    //遊戲主函數
    function main() {

        //LLoader 類可用于加載圖像(JPG、PNG 或 GIF)檔案。使用 load() 方法來啟動加載。
        loader = new LLoader();
        //使用 LEventDispatcher 對象注冊事件偵聽器對象,以使偵聽器能夠接收事件通知,圖檔加載完後執行loadBitmapdata
        loader.addEventListener(LEvent.COMPLETE, loadBitmapdata2);
        //将 JPEG、漸進式 JPEG、非動畫 GIF 或 PNG 檔案加載到此 LLoader 對象的子對象中。如果加載 GIF 動畫檔案,将僅顯示第一幀。
        loader.load("face.jpg", "bitmapData");

    };

    //加載圖檔并對圖檔操作:
    function loadBitmapdata(event) {

        //圖檔加載完後此時loader.content就是一個Image,LBitmapData用來儲存和讀取圖檔對象
        //var bitmapdata = new LBitmapData(loader.content);

        //使用 LBitmapData 類的方法建立任意大小的Image對象,控制圖像顯示範圍,并在運作時采用多種方式操作這些圖像。
        var bitmapdata = new LBitmapData(loader.content, 50, 50, 100, 100);
        
        //LBitmap用來顯示圖檔到畫闆
        var bitmap = new LBitmap(bitmapdata);

        //控制圖檔顯示的各種屬性
        //圖檔坐标
        bitmap.x = 50;
        bitmap.y = 50;
        //圖檔旋轉60度
        bitmap.rotate = 60;
        //圖檔透明度設定為0.4
        bitmap.alpha = 0.4;


        //将可顯示的對象(LSprite,LBitmap等)加入到遊戲最底層畫闆上  
        addChild(bitmap);

    };

    //使用精靈操作圖檔
    function loadBitmapdata2(event) {

        //圖檔加載完後此時loader.content就是一個Image,LBitmapData用來儲存和讀取圖檔對象
        //var bitmapdata = new LBitmapData(loader.content);

        //使用 LBitmapData 類的方法建立任意大小的Image對象,控制圖像顯示範圍,并在運作時采用多種方式操作這些圖像。
        var bitmapdata = new LBitmapData(loader.content, 50, 50, 100, 100);

        //LBitmap用來顯示圖檔到畫闆
        var bitmap = new LBitmap(bitmapdata);

        //使用精靈操作圖檔
        var sprite = new LSprite();
        //設定圖檔擺放位置
        sprite.x = 50;
        sprite.y = 50;
        //圖檔以左上角為原點旋轉60度
        sprite.rotate = 60;
        //圖檔透明度設定為0.5    
        sprite.alpha = 0.5;
        sprite.addChild(bitmap);

        //将可顯示的對象(LSprite,LBitmap等)加入到遊戲最底層畫闆上  
        addChild(sprite);

    };


    //基本圖形繪制
    function main() {
        graphics = new LGraphics();

        //将可顯示的對象(LSprite,LBitmap等)加入到遊戲最底層畫闆上  
        addChild(graphics);

        graphics.drawLine(2, '#ff0000', [10, 10, 100, 100]); //畫線:線寬,顔色,坐标  
        //畫圓弧:線寬/顔色/[圓心坐标/半徑/起始角/跨過角度/是否順時針]/是否填充/填充顔色  
        graphics.drawArc(2, '#ff0000', [200, 60, 50, 90 * Math.PI / 180, 180 * Math.PI / 180, true], true, '#00ff00');
        //畫矩形:線寬/顔色/[起始坐标/矩形寬高]/是否填充/填充顔色  
        graphics.drawRect(2, '#ff0000', [300, 10, 50, 50], true, '#ffff00');
        //畫圓角矩形,多一個圓角半徑參數  
        graphics.drawRoundRect(2, '#ff0000', [400, 10, 50, 50, 10], true, '#ffff00');
        //畫多邊形:線寬/顔色/[[],[],[]...(坐标集,至少三個)]/是否填充/填充顔色  
        graphics.drawVertices(2, '#ff0000', [[10, 110], [10, 210], [50, 170], [50, 150]], true, '#00ff00');
    }

    //使用原生canvas繪圖
    function main() {
        graphics = new LGraphics();
        addChild(graphics);

        //使用原生canvas繪圖  
        graphics.add(function (coodx, coody) {
            LGlobal.canvas.strokeStyle = "#000000";
            LGlobal.canvas.moveTo(20, 20);
            LGlobal.canvas.lineTo(200, 200);
            LGlobal.canvas.stroke();
        });
    }

    //使用Sprite的graphic繪圖
    function main() {
        var layer = new LSprite();
        addChild(layer);
        layer.graphics.drawRect(1, '#000000', [50, 50, 100, 100]);
        layer.graphics.drawRect(1, '#000000', [170, 50, 100, 100], true, '#cccccc');
    }


    //beginBitmapFill使用位圖填充繪圖區
    var loader;
    init(50, "mylegend", 640, 480, main);   //初始化遊戲,遊戲加載後調用main

    function main() {
        loader = new LLoader();
        loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
        loader.load("hello.jpg", "bitmapData");
    }

    function loadBitmapdata(event) {
        var bitmapdata = new LBitmapData(loader.content);
        var backLayer = new LSprite();
        addChild(backLayer);
        backLayer.graphics.beginBitmapFill(bitmapdata);
        //backLayer.graphics.drawArc(1,"#000",[110,80,50,0,Math.PI*2]);  
        backLayer.graphics.drawRect(1, "#000", [80, 50, 70, 100]);
    } 

 







</script>
</body>
</html>