BitmapFileMaterial的用法

本文介绍了一个使用Papervision3D实现的3D地图瓦片加载类TilePlane,该类通过指定图片URL来创建并显示3D地图瓦片。文章详细展示了TilePlane类的构造方法及如何设置图片地址和位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.hclown.earth3d.map
{
import org.papervision3d.objec ts.Plane;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.BitmapMaterial;
import flash.display.BitmapData;

/**
* 瓦片对象
**/
public class TilePlane extends Plane
{
private var imgUrl:String = null;

private var bitmapMaterial:BitmapFileMaterial = null;

/**
* 构建一个瓦片面板
* @parm imgUrl 渲染面板的图片
**/
public function TilePlane(imgUrl:String,width:Number,height:Number){
this.bitmapMaterial = new BitmapFileMaterial();
this.bitmapMaterial.addEventListener(FileLoadEvent.LOAD_COMPLETE, handleFileLoaded);
this.bitmapMaterial.doubleSided = true;
this.bitmapMaterial.smooth = true;
this.imgUrl = imgUrl;
super(this.bitmapMaterial,width,height,4,4);
}

/**
* 设置TilePlane的定位点,默认z=0
**/
public function setPosition(x:Number,y:Number,z:Number):void{
this.x = x;
this.y = y;
this.z = z;
}

/**
* 设置TilePlane的图片地址
**/
public function setImgUrl(url:String):void{
this.imgUrl = url;
refreshPlane();
}

/**
* 获取TilePlane的图片地址
**/
public function getImgUrl():String{
return this.imgUrl;
}

//初始化Plane
private function refreshPlane():void{
trace("1");
this.bitmapMaterial = new BitmapFileMaterial();
this.bitmapMaterial.addEventListener(FileLoadEvent.LOAD_COMPLETE, handleFileLoaded);
this.bitmapMaterial.texture = this.imgUrl;
trace("2");
}

protected function handleFileLoaded(e:FileLoadEvent):void
{
trace("3");
this.bitmapMaterial.texture = this.imgUrl;
//var plane:Plane = new Plane(this.material,256,256,4,4);
//this.addChild(plane);
trace("4");
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值