本ソースはSaqoosha氏の FLARToolKitを利用し、
FLARToolKit Starter KitのSimpleCubeを元に作成させて頂きました。
package
{
import org.papervision3d.objects.primitives.Plane;
import flash.events.Event;
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import org.papervision3d.materials.VideoStreamMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
public class Main extends PV3DARApp
{
private var m_plane:Plane;
private var _connection:NetConnection;
private var _stream:NetStream;
private var m_video:Video;
public function Main():void {
this.init('Data/camera_para.dat', 'Data/jousuiki_logo.pat');
this._connection = new NetConnection();
this._connection.connect(null);
}
protected override function onInit():void {
this._stream = new NetStream(this._connection);
this._stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
this._stream.client = { };
this.m_video = new Video();
this.m_video.attachNetStream(this._stream);
this._stream.play("Data/jousuiki.flv");
var vsm:VideoStreamMaterial = new VideoStreamMaterial(this.m_video, this._stream);
vsm.doubleSided = true;
this.m_plane = new Plane(vsm, 320, 240,20,10);
m_plane.rotationX = -90;
m_plane.rotationY = 180;
m_plane.rotationZ = -90;
m_plane.z = 120;
super.onInit();
this._baseNode.addChild(this.m_plane);
}
private function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetStream.Play.Stop":
this._stream.play("Data/jousuiki.flv");
break;
}
}
}
}