Flash Player 10 bate がリリースされました。
Adobe Labs - Flash Player 10
http://labs.adobe.com/technologies/flashplayer10/
akihiro kamijo: Flash Player 10 beta 公開
http://weblogs.macromedia.com/akamijo/archives/2008/05/flash_player_10.html
とりあえずDisplayObjectに追加された3D機能を試してみる
この辺りを参考に作ってみました
http://wiki.libspark.org/wiki/FlashPlayer/10/API
こちらからFlash Player 10をインストールしてからみてください。
Adobe Labs - Downloads: Flash Player 10
http://labs.adobe.com/downloads/flashplayer10.html
このコンテンツには最新のFlashPlayerが必要です
コードはこんな感じ
Zsortは自分でする必要があるっぽい?のでとりあえず面は描画せず線だけです。
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
use namespace astro;
public class Flash10Sample03 extends Sprite {
private var sp:Sprite;
private const CUBE_SCALE:int = 100;
public function Flash10Sample03() {
var txt:TextField = new TextField();
addChild(txt);
txt.text = "クリックで始まります";
txt.autoSize = TextFieldAutoSize.LEFT;
txt.setTextFormat(new TextFormat("_ゴシック", 15, 0xffffff));
stage.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void {
removeChild(txt);
stage.removeEventListener(MouseEvent.CLICK, arguments.callee);
init();
});
}
private function init():void {
createCubeFace();
addEventListener(Event.ENTER_FRAME, function(e:Event):void {
sp.astro::rotationY += 1;
sp.astro::rotationX += 1;
});
}
private function createCubeFace():void {
sp = new Sprite();
addChild(sp);
sp.x = 250;
sp.y = 250;
var s:Sprite;
faceArray = new Array();
function createFace(c:uint):Sprite {
var s:Sprite = new Sprite();
drawRect(s, c);
sp.addChild(s);
return s
}
// 背面
s = createFace(0xff0000);
s.astro::z = CUBE_SCALE/2;
// 左
s = createFace(0x0000ff);
s.astro::rotationY = 90;
s.x = -CUBE_SCALE/2;
// 右
s = createFace(0x00ff00);
s.astro::rotationY = 90;
s.x = CUBE_SCALE/2;
// 上
s = createFace(0xffff00);
s.astro::rotationX = 90;
s.y = -CUBE_SCALE/2;
// 下
s = createFace(0x00ffff);
s.astro::rotationX = 90;
s.y = CUBE_SCALE/2;
// 前面
s = createFace(0xaaaaaa);
s.astro::z = -CUBE_SCALE/2;
}
private function drawRect(s:Sprite, c:uint):void {
var g:Graphics = s.graphics;
g.lineStyle(2, 0xffffff);
g.beginFill(c, 0); // z sort してないから塗りは消しておく
g.drawRect(-CUBE_SCALE/2, -CUBE_SCALE/2, CUBE_SCALE, CUBE_SCALE);
g.endFill();
}
}
}
astro.as
package {
public namespace astro = "http://www.adobe.com/2008/actionscript/Flash10/";
}
Flash Player 10 で 3Dしてみた 2 テキストもいるけ (Unknown Quality)
http://un-q.net/2008/05/flash_player_10_3d_astro.html
![Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編]](http://ecx.images-amazon.com/images/I/617sNhK9P9L._SL160_.jpg)



