Away3Dでテクスチャ付きのボックスとパネル
【参考サイト】
Away3D Basics 4 - Manipulating 3D objects > Tutorials > Flash Magazine
http://www.flashmagazine.com/Tutorials/detail/away3d_basics_4_-_manipulating_3d_objects/
Away3D v2.1.0の使い方(2)-テクスチャ&マウスイベント
http://www.scratchbrain.net/blog/ver2/entries/000806.html
/**
* Copyright nakamura001 ( http://wonderfl.net/user/nakamura001 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/uCqV
*/
// forked from nakamura001's Away3Dのサンプルを試してみた
// 【参考サイト】
// Away3D Basics 4 - Manipulating 3D objects > Tutorials > Flash Magazine
// http://www.flashmagazine.com/Tutorials/detail/away3d_basics_4_-_manipulating_3d_objects/
//
// Away3D v2.1.0の使い方(2)-テクスチャ&マウスイベント
// http://www.scratchbrain.net/blog/ver2/entries/000806.html
package {
import flash.system.*;
import flash.net.URLRequest;
import flash.events.*;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.system.LoaderContext;
import flash.display.BitmapData;
import flash.display.Bitmap;
import away3d.containers.View3D;
import away3d.primitives.Cube;
import away3d.primitives.Plane;
import away3d.materials.BitmapFileMaterial;
import away3d.primitives.data.CubeMaterialsData;
import flash.geom.Vector3D;
import flash.display.Sprite;
[SWF(width="500", height="400", frameRate="60", backgroundColor="#DDDDDD")]
public class FlashTest extends Sprite {
private var loader:Loader = new Loader();
private var cubeMaterial:CubeMaterialsData;
private static const textureURL:String = "http://tsuyobi.heteml.jp/flash/data/player.jpg";
public function FlashTest() {
// write as3 code here..
Security.loadPolicyFile("http://tsuyobi.heteml.jp/crossdomain.xml");
// create a viewport
var view:View3D = new View3D({x:250,y:200});
addChild(view);
// create a sphere and put it on the 3D stage
var cubeFront:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var cubeBack:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var cubeTop:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var cubeBottom:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var cubeLeft:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var cubeRight:BitmapFileMaterial = new BitmapFileMaterial(textureURL);
var tree:Plane = new Plane({width:100, height:100});
tree.rotationX = 45;
tree.position = new Vector3D(0, -150, 0);
tree.material = cubeFront;
view.scene.addChild(tree);
cubeMaterial = new CubeMaterialsData({front:cubeFront,back:cubeBack,
top:cubeTop,bottom:cubeBottom,
left:cubeLeft,right:cubeRight});
var cube:Cube = new Cube({cubeMaterials:cubeMaterial});
cube.rotationX += 30;
cube.rotationY += 45;
view.scene.addChild(cube);
addEventListener("enterFrame", function():void {
cube.yaw(1);
view.render();
});
}
}
}