pv3d 的 切换贴图 练习

 http://www.sandy1219.com/3d/test4/TestChangeSkin.html

 

<textarea cols="79" rows="17" name="code" class="c-sharp">package { import flash.display.Bitmap; import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; import org.ascollada.utils.FPS; import org.aswing.AsWingManager; import org.aswing.BoxLayout; import org.aswing.JButton; import org.aswing.JFrame; import org.papervision3d.events.FileLoadEvent; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.BitmapFileMaterial; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.parsers.DAE; import org.papervision3d.view.BasicView; public class TestChangeSkin extends BasicView { public function TestChangeSkin() { super(800,800,true,true) init3D(); } private var light:PointLight3D; private var daeFile:DAE; private var _png:BitmapFileMaterial ; private var skinList:Array = []; private function init3D():void { skinList['1'] = 'dae/casual04_m_25.png'; skinList['2'] = 'dae/casual06_m_25.png' AsWingManager.initAsStandard(this); addChild(new FPS()); light = new PointLight3D(true,true); light.z = -10000; light.y = 40000; light.x = 30000; scene.addChild(light) loadAdeFile(); camera.focus = 100 ; startRendering(); addButton(); } private function loadAdeFile():void { daeFile = new DAE(true,'song',true); daeFile.addEventListener(FileLoadEvent.LOAD_COMPLETE, onLoadComplete); _png = new BitmapFileMaterial('dae/casual04_m_25.png') ; _png.interactive = true ; _png.doubleSided = true ; var _mat:MaterialsList = new MaterialsList({ mat: new FlatShadeMaterial(light, 0xcc0000) , all:_png }); daeFile.load("dae/male.DAE",_mat ); scene.addChild(daeFile); } private function onLoadComplete(e:FileLoadEvent):void { daeFile.moveDown(100) } override protected function onRenderTick(event:Event=null):void { super.onRenderTick(event) } private function addButton():void { var jf:JFrame = new JFrame(); jf.getContentPane().setLayout(new BoxLayout()) jf.setSizeWH(300,100); jf.show(); var b1:JButton = new JButton('skin1'); b1.name = '1' b1.addActionListener(btnClick) jf.getContentPane().append(b1) var b2:JButton = new JButton('skin2'); b2.name = '2' b2.addActionListener(btnClick) jf.getContentPane().append(b2) } private function btnClick(e:Event):void { var jb:JButton = e.currentTarget as JButton; var index:String = jb.name; changeBitmap(skinList[index]); } private var ld:Loader; private function changeBitmap(url:String):void { ld = new Loader(); ld.contentLoaderInfo.addEventListener(Event.COMPLETE , loadComplete) ld.load(new URLRequest(url)); } private function loadComplete(e:Event):void { _png.bitmap = Bitmap( ld.content).bitmapData; } } }</textarea>

你可能感兴趣的:(function,String,null,url,Class,import)