Bitmap練習02:配列に保持されたBitmapを3DPlaneへ貼りつける練習
forked from Bitmap練習01:複数の画像を読み込み練習 (diff: 50)
一時的に配列に保持されたBitmapを3DPlaneへ貼りつけ練習 そもそもBitmapの理解がなってないっぽいので基本的なことから練習中です、その2 ↓Bitmapを取得して配列につめるための処理は下記のコードを参考にさせていただきました Bitmap化テスト http://wonderfl.net/c/4N6K
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{
}
}
}
