Archive for January 8th, 2009

AS3DMod Taper

Thursday, January 8th, 2009 | examples | Comments


source

package
{
	import com.as3dmod.ModifierStack;
	import com.as3dmod.modifiers.Taper;
	import com.as3dmod.plugins.pv3d.LibraryPv3d;
 
	import flash.events.Event;
 
	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.shadematerials.GouraudMaterial;
	import org.papervision3d.objects.primitives.Cylinder;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class As3dModTaper extends BasicView
	{
		private var cylinder:Cylinder;
		private var modifierStack:ModifierStack;
		private var taper:Taper;
 
		public function As3dModTaper()
		{
			var light:PointLight3D = new PointLight3D();
			var cellMaterial:GouraudMaterial = new GouraudMaterial(light, 0xcc0000, 0x111111, 10);
			cellMaterial.doubleSided = true;
 
			cylinder = new Cylinder(cellMaterial, 100, 500, 16, 12);
 
			modifierStack = new ModifierStack(new LibraryPv3d(), cylinder);
 
			taper = new Taper(3);
            taper.setFalloff(0.1, 0.5);
            taper.power = 3;
			modifierStack.addModifier(taper);
 
			scene.addChild(cylinder);
 
			startRendering();
		}
 
		override protected function onRenderTick(event:Event=null):void
		{
			cylinder.rotationY += (viewport.containerSprite.mouseX - cylinder.rotationY) * .1;
			var targetForce:Number = viewport.mouseY / 200;
			taper.force += (targetForce - taper.force) * .1;
			modifierStack.apply();
 
			super.onRenderTick(event);
		}
	}
}

Tags:

Search

Recommended Books

Speaking at FITC Toronto

 

January 2009
M T W T F S S
« Dec   Feb »
 1234
567891011
12131415161718
19202122232425
262728293031  

Preferred Video Tutorial Resolution

  • 1024x768 (53%, 85 Votes)
  • 1280x1024 (15%, 24 Votes)
  • 1920x1080 (15%, 24 Votes)
  • 800x600 (13%, 20 Votes)
  • 480x320 (4%, 6 Votes)
  • 640x480 (0%, 2 Votes)

Total Voters: 160

Loading ... Loading ...