package
{
import away3d.cameras.lenses.*;
import away3d.core.base.*;
import away3d.core.math.*;
import away3d.library.assets.*;
import away3d.debug.*;
import away3d.cameras.*;import away3d.containers.*;import away3d.entities.*;
import away3d.lights.*;import away3d.materials.*;import away3d.materials.lightpickers.*;
import away3d.materials.methods.*; import away3d.primitives.*; import away3d.textures.*;
import away3d.filters.*;
import away3d.materials.utils.SimpleVideoPlayer;
import flash.display.*; import flash.events.*; import flash.system.*; import flash.ui.*; import flash.utils.*; import flash.sampler.*; import flash.net.*; import flash.media.*; import flash.net.*; import flash.external.*; import flash.text.*;
import flash.geom.*;
/**
* ...
* @author Lexcuk
*/
public class AwayMyVideo extends Sprite
{
private var container:ObjectContainer3D;
public var sprite:Sprite;
public var view:View3D;
private var material:TextureMaterial;
private var planeMesh:Mesh;
private var bitmapTexture:BitmapTexture;
private var simpleVideoPlayer:SimpleVideoPlayer;
public function AwayMyVideo()
{
view = new View3D();
view.camera.lens.far = 5000;
view.camera.lens.near = 1;
sprite = new Sprite();
sprite.addChild(view);
sprite.addChild(new AwayStats(view));
addChild(sprite);
container = new ObjectContainer3D();
//container.scaleX = -1;
view.scene.addChild(container);
var sunLight:DirectionalLight = new DirectionalLight( -1, -0.4, 1);
//with (sunLight) { color = 0xFFFF80; castsShadows = true; ambient = diffuse = specular = 1; }
container.addChild(sunLight);
var lightPicker:StaticLightPicker = new StaticLightPicker([sunLight]);
var filteredShadowMapMethod:DitheredShadowMapMethod = new DitheredShadowMapMethod(sunLight);
filteredShadowMapMethod.epsilon = 0.005;
filteredShadowMapMethod.range = 0.00001;
simpleVideoPlayer = new SimpleVideoPlayer();
//sprite.addChild(simpleVideoPlayer.container);
simpleVideoPlayer.source = "video1.flv";
simpleVideoPlayer.width = 512;
simpleVideoPlayer.height = 512;
simpleVideoPlayer.loop = true;
simpleVideoPlayer.play();
container.addChild(planeMesh = new Mesh(new PlaneGeometry(500, 500, 1, 1, true), null));
planeMesh.showBounds = true;
//begin some errors VideoTexture
//this next line work corectly in away3d-core-fp11_4_0_0_beta.swc
//but in away3d-core-fp11_4_1_0_Alpha.swc it's get some trables
//TypeError: Error #1034: ?????? ???? Coercion: ?????????? ????????????? ? away3d.materials.utils.IVideoPlayer.
//at away3d.textures::VideoTexture()[/Users/robbateman/Documents/Adobe Flash Builder 4.7/away3d-core-fp11/src/away3d/textures/VideoTexture.as:34]
//at AwayMyVideo()[D:\FLEX\AWAY\redrawTextureaway3d-tire-marks\AwayMyVideo.as:77]
//var videoTexture:VideoTexture = new VideoTexture("video1.flv" , 512, 512, true, true, null)
//material = new TextureMaterial(videoTexture);
//planeMesh.material = material;
//addEventListener(Event.ENTER_FRAME, enterVideoTextureFrameHandler);
//end some errors VideoTexture
//the next line hack. it's work like as video texture is away3d-core-fp11_4_1_0_Alpha.swc
view.camera.moveTo( 0, 500, 0);
view.camera.lookAt(new Vector3D(0, 0, 0))
material = new TextureMaterial(bitmapTexture = new BitmapTexture(new BitmapData(512, 512, true, 0xFFFF0000)), false, true);
planeMesh.material = material;
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterVideoTextureFrameHandler(e:Event):void {
view.render();
}
private function enterFrameHandler(e:Event):void {
//
var bitmapData:BitmapData = bitmapTexture.bitmapData;
bitmapData.lock();
bitmapData.fillRect(bitmapData.rect, 0);
//bitmapData.draw(_video, _matrix, null, null, bitmapData.rect, _smoothing);
bitmapData.draw(simpleVideoPlayer.container);
bitmapData.unlock();
bitmapTexture.invalidateContent();
view.render();
}
}
}
VideoMaterial + Away3D 4.1 = :-
I made smoke effect and demo jiblib car flash 3d physics.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :