2009/05/26 | 14:35 pm

MovieMaterial of PV3D

今まで知らなかったことです。

MovieClip を Material にして、その MovieClip のタイムラインを動かすって動作。
とりあえず、PV3D にはデフォルトで MovieMaterial ってのがあるので、それを使うとすぐ出来ましたデス。

private function MovieMaterialExperiment():void {
	// flaファイルのライブラリからリンケージ名指定して頂く方法
	var linkageID:String = "LIBRARY_ITEM";
	var className:Class = getDefinitionByName( linkageID ) as Class;
	var mc:MovieClip = new className();

	// 第一引数に MovieClip を指定。
	// 第二引数を true にしないと MovieClip の透過部分が真っ黒になる。。。
	// 第三引数は true にしておかないとタイムラインのアニメーションが効かなくなる。
	var mm:MovieMaterial = new MovieMaterial( mc, true, true );
	mm.interactive = true;

	var plane:Plane = new Plane( mm );
	plane.addEventListener( InteractiveScene3DEvent.OBJECT_OVER, onObjectOver );
	plane.addEventListener( InteractiveScene3DEvent.OBJECT_OUT, onObjectOut );
	scene.addChild( plane );
};

private function onObjectOver( e:InteractiveScene3DEvent ):void {
	e.target.material.movie.gotoAndStop(2);
	// e.target で Plane にアクセス
	// e.target.material で MovieMaterial にアクセス
	// なもんで、e.target.material.movie で MovieClip にアクセスとなります。
};

private function onObjectOut( e:InteractiveScene3DEvent ):void {
	e.target.material.movie.gotoAndStop(1);
};

あと、最初に Viewport3D の
interactive = true;
containerSprite.buttonMode = true;
しないとマウスが pointer になりませぬ。

COMMENT

CATEGORY

POSTED

jam





JUN NAKAJIMA
Tokyo, Japan.
member of Onawatobi.
contact@brooklyn.jp