关于动态贴图问题不能动态通过texture改变只能重新new 新material
2010-08-17 11:39
651 查看
这里指的是改变material 贴图 而贴图时静态只有一张 当然我们也可以通过贴图的变化来间接达到动态改变贴图(贴图外观变化了)具体实现就是通过过控制贴图的属性改变外观 而不是改变 pv3d matrial的 texture属性 总之 通过textture是不能动态改变贴图的只能引用当前贴图
/*
不能动态的通过texture(movie)改变材质,而只是通过该属性来引用贴图而已 对于动态改变材质只能重新新new material类
*/
/**//
MC MC2 MC3都是 MovieClip
*/
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.sampler.NewObjectSample;
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
/**
* ...
* @author dreamnight
*/
public class BothFace extends BasicView
{
private var plane:Plane
private var material:MovieMaterial
public function BothFace() {
init()
stage.frameRate = 40;
startRendering()
}
private function init():void {
createPlane();
// addAction
}
private function createPlane():void {
var mc:Sprite = new MC();
material= new MovieMaterial(mc);
trace("movie为"+material.movie)
trace("材质为:"+material.texture)
material.doubleSided=true
plane = new Plane(material,400,300,2,2);
this.scene.addChild(plane);
}
override protected function onRenderTick(e:Event=null):void
{
super.onRenderTick();
plane.rotationX += 2
if ((plane.rotationX%360 > 180) && (plane.rotationX%360 < 360)) {
// plane.material= new WireframeMaterial()
//plane.material.doubleSided=true
material=new MovieMaterial(new MC2())
plane.material=material
//material.movie = new MC()
//plane.material=new MovieMaterial(new MC());
plane.material.doubleSided = true
// trace("OK");
}
else {
// plane.material= new MovieMaterial(new MC());
// plane.material.doubleSided=true
material=new MovieMaterial(new MC())
plane.material=material
//MovieMaterial(plane.material).texture= new MC2()
//
plane.material.doubleSided = true
trace("yes");
}
}
}
}
/*
不能动态的通过texture(movie)改变材质,而只是通过该属性来引用贴图而已 对于动态改变材质只能重新新new material类
*/
/**//
MC MC2 MC3都是 MovieClip
*/
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.sampler.NewObjectSample;
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
/**
* ...
* @author dreamnight
*/
public class BothFace extends BasicView
{
private var plane:Plane
private var material:MovieMaterial
public function BothFace() {
init()
stage.frameRate = 40;
startRendering()
}
private function init():void {
createPlane();
// addAction
}
private function createPlane():void {
var mc:Sprite = new MC();
material= new MovieMaterial(mc);
trace("movie为"+material.movie)
trace("材质为:"+material.texture)
material.doubleSided=true
plane = new Plane(material,400,300,2,2);
this.scene.addChild(plane);
}
override protected function onRenderTick(e:Event=null):void
{
super.onRenderTick();
plane.rotationX += 2
if ((plane.rotationX%360 > 180) && (plane.rotationX%360 < 360)) {
// plane.material= new WireframeMaterial()
//plane.material.doubleSided=true
material=new MovieMaterial(new MC2())
plane.material=material
//material.movie = new MC()
//plane.material=new MovieMaterial(new MC());
plane.material.doubleSided = true
// trace("OK");
}
else {
// plane.material= new MovieMaterial(new MC());
// plane.material.doubleSided=true
material=new MovieMaterial(new MC())
plane.material=material
//MovieMaterial(plane.material).texture= new MC2()
//
plane.material.doubleSided = true
trace("yes");
}
}
}
}
相关文章推荐
- 解决Mysql中只能通过localhost登陆不能通过ip登陆的问题
- 关于JSP不能通过浏览器直接访问,要通过servlet跳转,但一个jsp文件里面用<iframe>标签包含了另一个jsp的访问问题
- unity3D 关于重新载入场景后Easytouch不能使用的问题
- centos7关于secureCRT不能通过ssh连接的问题
- 关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题
- 关于Windows 10只能在启动选项中通过F7禁用驱动签名才能启动的问题
- 关于Away3D4.0中Geometry无法动态赋值height、width、deep来改变几何体显示的问题
- 记录--关于Jquery uploadify 不能动态传值的问题(java)
- 关于stm32f0xx中断模式串口只能发不能收的问题,入行必过的第一个坑
- 解决tomcat服务器下,只能通过localhost,而不能通过127.0.0.1或者本地ip地址访问的问题
- 解决 不能通过CCmdUI *pCmdUI改变对话框菜单状态 的问题
- 解决JBoss只能通过localhost访问不能通过IP的问题
- 解决tomcat服务器下,只能通过localhost,而不能通过127.0.0.1或者本地ip地址访问的问题
- 解决mysql中只能通过localhost(127.0.0.1)访问不能通过ip访问的问题
- 关于整数和真分数的四则运算的算法,整数已通过,但真分数不能化到最简的问题求大神指导啊
- oracle 数据库,通过resultSet.getObject()获取时间类型截断的问题的解析(格式化时间不能完全输出,也就是只能到日,小时后面的没有了)
- 关于KFCEditor控件INPUT等不能拖拽改变大小的问题(已解决)
- A类只能通过B类的方法实例化,不能直接使用new,即内部类~代码一段
- myeclipse连接只能通过ip不能通过localhost连接问题
- 解决mysql中只能通过localhost访问不能通过ip访问的问题