PV3D学习(1)--插入图片

只需要将上一例中以下代码部分


var material:WireframeMaterial = new WireframeMaterial(0x000000);


改成


var material:BitmapFileMaterial = new BitmapFileMaterial();
      material.texture = "http://www.auciferjay.cn/upfile/PV3DFileLoad.jpg";


即可使用。当然考虑到图片加载问题。建议使用FileLoadEvent.LOAD_COMPLETE事件来侦听。

完整代码


package {
        import flash.display.Sprite;
        import flash.events.Event;
        
        import org.papervision3d.cameras.Camera3D;
        import org.papervision3d.events.FileLoadEvent;
        import org.papervision3d.materials.BitmapFileMaterial;
        import org.papervision3d.objects.Plane;
        import org.papervision3d.scenes.MovieScene3D;

        [SWF(width='300',height='300',backgroundColor='0xFFFFFF',frameRate='30')]

        public class main extends Sprite
        {
                private var _container:Sprite;
                private var _scene:MovieScene3D;
                private var _camera:Camera3D;
                private var material:BitmapFileMaterial;
                
                private var _plane:Plane;
                
                public function main()
                {
                        // 创建3D舞台的容器
            _container = new Sprite();
                        _container.x = 150;
                        _container.y = 150;
                        addChild( _container );

                        // 创建3D舞台
            _scene = new MovieScene3D( _container );

                        // 创建摄像头
            _camera = new Camera3D();
                        _camera.z = -500;
                        _camera.zoom = 5;

                        // 创建图片
                        material= new BitmapFileMaterial();
                        material.addEventListener( FileLoadEvent.LOAD_COMPLETE , loadComFun );
                        material.texture = "http://www.auciferjay.cn/upfile/PV3DFileLoad.jpg";
                }
                
                private function loadComFun( event:FileLoadEvent ):void
                {
                        trace("Complete");
                        // 创建一个 128 * 128 的平面                
            _plane = new Plane( material, 200, 200, 2, 2 );

                        // 将平面对象加入到舞台
            _scene.addChild( _plane );

                        // 绘制3D舞台
            _scene.renderCamera( _camera );
                        this.addEventListener( Event.ENTER_FRAME, enterFrameFun );
                }
                
                private function enterFrameFun( event:Event ):void
                {
                        _camera.x = -( _container.mouseX * 3)/2;
                        _camera.y = ( _container.mouseY * 3)/2;
                        _scene.renderCamera( _camera );
                }
        }
}

相似应用
加入Bitmap内部文件使用
BitmapAssetMaterial( name ) name为库中文件的指定类名
加入内部影片文件使用
MovieAssetMaterial( name, transparent, animated ) name为库中文件的指定类名,transparent是否背景透明,animated是否是动画
加入Bitmap外部文件使用
BitmapFileMaterial
texture 指定文件路径
加入Bitmap色块使用
BitmapColorMaterial( color) color为16进制数
加入色块使用
ColorMaterial( color) color为16进制数
加入互动色块使用
InteractiveColorMaterial( color) color为16进制数
加入线条使用
BitmapWireframeMaterial( color,alpha ) color为16进制数,alpha为0~1的正数

还有很多类似的类可以使用,以后慢慢用来~~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值