Bitmap練習03:芝生・砂・水のBitmap画像貼りつけ練習

by siouxcitizen forked from Bitmap練習02:配列に保持されたBitmapを3DPlaneへ貼りつける練習 (diff: 9)
ワンダフルクエスト提供の芝生・砂・水のBitmap画像貼りつけ練習
そもそもBitmapの理解がなってないっぽいので基本的なことから練習中です、その3
↓以下からの画像を使用させていただいています
ワンダフルクエスト
http://wonderfl.net/c/wu8f
♥0 | Line 69 | Modified 2010-07-31 02:44:03 | MIT License | (replaced)
play

Related images

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/iq8e
 */

// forked from siouxcitizen's Bitmap練習02:配列に保持されたBitmapを3DPlaneへ貼りつける練習
//
//ワンダフルクエスト提供の芝生・砂・水のBitmap画像貼りつけ練習
//
//そもそもBitmapの理解がなってないっぽいので基本的なことから練習中です、その3
//↓以下からの画像を使用させていただいています
//ワンダフルクエスト
//http://wonderfl.net/c/wu8f
//
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/5/55/558c/558cd91da870c2bc32c54502d98d2d447833e1fd",
            "http://assets.wonderfl.net/images/related_images/0/02/0210/02104ec89c3ba9dd49dc3e636d3e97a8d55674f8",
            "http://assets.wonderfl.net/images/related_images/f/f6/f696/f696b4e7bc2541a9812b81fe89a27a1c00fbe447"
        ];
 
        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