Bitmap練習02:配列に保持されたBitmapを3DPlaneへ貼りつける練習

by siouxcitizen forked from Bitmap練習01:複数の画像を読み込み練習 (diff: 50)
一時的に配列に保持されたBitmapを3DPlaneへ貼りつけ練習
そもそもBitmapの理解がなってないっぽいので基本的なことから練習中です、その2
↓Bitmapを取得して配列につめるための処理は下記のコードを参考にさせていただきました
Bitmap化テスト
http://wonderfl.net/c/4N6K
♥0 | Line 69 | Modified 2010-07-31 01:55:29 | MIT License | (replaced)
play

ActionScript3 source code

/**
 * Copyright siouxcitizen ( http://wonderfl.net/user/siouxcitizen )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/qlj5
 */

// forked from siouxcitizen's Bitmapデータを読み込んで複数3DPlaneオブジェクトに貼り付ける練習
//
//一時的に配列に保持されたBitmapを3DPlaneへ貼りつけ練習
//
//そもそもBitmapの理解がなってないっぽいので基本的なことから練習中です、その2
//↓Bitmapを取得して配列につめるための処理は下記のコードを参考にさせていただきました
//Bitmap化テスト
//http://wonderfl.net/c/4N6K
//
package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.system.LoaderContext;
    import flash.display.Bitmap;
    import flash.display.BitmapData; 
    import org.papervision3d.view.*;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.materials.*;
    public class Main extends BasicView
    {
        private var count:int = 0;    // 読み込んだ画像数
        private var images:Array;    // 読み込んだ画像
        private var bitmapDataList:Array;    // 読み込んだ画像のBitmapData
        public var bmp:Bitmap;
        public var bmd:BitmapData;

        private    const IMAGE_URL:Array =
        [
            "http://assets.wonderfl.net/images/related_images/1/19/19c0/19c0967e02f10579880511d29d725a4a9f983f1a",
            "http://assets.wonderfl.net/images/related_images/e/e1/e12b/e12b4d301954b19d91c96df4bbf2eaf5fc82f726",
            "http://assets.wonderfl.net/images/related_images/7/7b/7be2/7be290bce731b60e8bceffb7f1bee308b342ad28"
        ];
 
        public function Main()
        {
            images = new Array(IMAGE_URL.length);
 
            for (var i:int = 0; i < IMAGE_URL.length; i++)
            {
                var loader:Loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
                loader.load(new URLRequest(IMAGE_URL[i]), new LoaderContext(true));
                loader.name = i.toString();
            }
        }
 
        private function onComplete(e:Event):void
        {
            bmp = new Bitmap();
            bmd = new BitmapData(e.currentTarget.loader.width, e.currentTarget.loader.height, true, 0x000000)
            bmd.draw(e.currentTarget.loader);
            bmp.bitmapData = bmd;
            images[e.currentTarget.loader.name] = bmp;           
            if (++count == IMAGE_URL.length) display();
        }
 
        private function display():void
        {
            for (var j:int = 0; j < 5; j++) {
                for (var i:int = 0; i < images.length; i++) {
                    var bmp:Bitmap = images[i];
                    var material:BitmapMaterial = new BitmapMaterial(bmp.bitmapData, true);

                    var plane:Plane = new Plane(material, 500, 500, 1, 1);
                    plane.rotationX = 90;
                    plane.z = -1500 + 500*j;
                    plane.x = -500 + 500*i;
                    scene.addChild(plane); //sceneに追加
                }
            }

            //カメラ設定
            camera.y = 800;
            camera.z = -2800;
            camera.zoom = 80;
            //レンダリング開始
            startRendering();
            //loop処理
            addEventListener(Event.ENTER_FRAME, loop);
        }

        private function loop(e:Event):void{
        }
    }
}
 

Forked