AS3Dmodで「はためく布」や「北斗神拳を受けた人の頭」を実現。

このエントリをはてなブックマークに追加このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加このエントリをkwoutに追加
2008年9月7日 日曜日1:18:24

以下が、改造したPv3dDemo.asのソース。改造したのは、コンストラクタ内の変更開始~変更終わりまでの間。
で、実際にコンパイルするのは「DemoBase.as」なので注意。

package {
   
    import com.as3dmod.modifiers.Bend;
    import com.as3dmod.modifiers.Noise;
    import com.as3dmod.ModifierStack;
   
    import com.as3dmod.plugins.pv3d.LibraryPv3d;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.special.CompositeMaterial;
    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.objects.primitives.Sphere;
    import org.papervision3d.view.BasicView;
    import flash.events.Event;
    import com.as3dmod.util.ModConstant;

    public class Pv3dDemo extends BasicView {
       
        private var c :D isplayObject3D;
        private var m:ModifierStack;
        private var base:DemoBase;
        public function Pv3dDemo(base:DemoBase) {
            this.base = base;
            var mt:CompositeMaterial = new CompositeMaterial();
            mt.addMaterial(new ColorMaterial(0x27590e));
            mt.addMaterial(new WireframeMaterial(0x49a51c));
            mt.doubleSided = true;
//変更開始
            var mt2:CompositeMaterial = new CompositeMaterial();
            mt2.addMaterial(new ColorMaterial(0xff0000));
            mt2.addMaterial(new WireframeMaterial(0x27590e));
            mt2.doubleSided = true;

            c = new Sphere(mt, 200, 16, 16);
            var q:Sphere = new Sphere(mt2, 100, 16, 16);
            q.z = -200;
            c.addChild(q);
//変更終わり
            c.rotationX = 60;
            c.rotationY = 45;
            scene.addChild(c);
           
            m = new ModifierStack(new LibraryPv3d(), c);
            base.setupStack(m);

            startRendering();
               
        }
       
        protected override function onRenderTick(event:Event = null):void {
            base.onRender();
            m.apply();
            super.onRenderTick(event);
        }
    }
}

  • ページ:
  • 1
  • 2

トラックバック URL :

コメントをどうぞ

HTML convert time: 0.886 sec.