as3dmood详解
来源:互联网 发布:推荐好用的防晒知呼 编辑:程序博客网 时间:2024/04/30 00:47
下面是各个用法的详细解释,可以直接编译
demo : http://3556.8b8b.info/swf/asDom.swf
package {
import org.papervision3d.cameras.CameraType;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
import flash.events.Event;
//as3dmood 对象
import com.as3dmod.ModifierStack;
import com.as3dmod.plugins.pv3d.LibraryPv3d;
import com.as3dmod.modifiers.Noise;
import com.as3dmod.modifiers.Perlin;
import com.as3dmod.modifiers.Bend;
import com.as3dmod.util.Phase;
[SWF(backgroundColor="#000000", frameRate="40", width="1000", height="800")]
public class Main extends BasicView {
private var plane:Plane;
private var stack:ModifierStack;
private var bend:Bend;
private var phase:Phase ;
public function Main() {
super(800, 600, true, false, CameraType.FREE);
var mat:WireframeMaterial = new WireframeMaterial();
mat.doubleSided = true;
plane = new Plane(mat, 800, 600, 10, 10);
plane.rotationX = 45;
plane.rotationY = 45;
scene.addChild(plane);
//对pv3d库进行修饰 修改对象是plane 它是plane对象的特效栈 ,
//所有的修饰特效都需要假如到它里面,加入的顺序会对最终的效果产生影响
stack= new ModifierStack(new LibraryPv3d(),plane);
//创建修饰特效
var noise:Noise= new Noise(20);//该参数值的范围在 0-200之间 褶皱的程度
var perlin:Perlin=new Perlin(10);//扭曲 程度 ,一般在enterframe事件里加上 stack.apply() 可以产生动态变化效果
bend= new Bend(0,0.5);//弯曲 Bend(f:Number = 0, o:Number = .5, a:Number = 0) f 代表force力,o是开始的位置offset ,a是角度,但是现在这个版本已经没有也就是说只有两个参数
//工具类,类似flash里的Math类
phase=new Phase();//该类的最大用途是是 phase.phasedValue的值始终在[-1,1]之间波动,类似于正弦波
phase.value=0;
//将该nose特效加入到特效栈中
//stack.addModifier(noise);
stack.addModifier(perlin);
//stack.collapse(); //该句的作用是让那些修饰特效一个一个的分开执行 ,去掉这句,则所有的特效同时执行 ,它相当于栈的阻隔标志
stack.addModifier(bend);
stack.apply();//实施修改,一定要再pv3d引擎渲染之前实施 其他modifiers 库中的特效的用法类似
startRendering();
}
protected override function onRenderTick(event:Event = null):void {
/*if(bend.force<10){
bend.force+=0.01;}
else if(bend.force>10){
bend.force=0;
}
*/
phase.value+=0.05;
bend.force = phase.phasedValue;//与上面注释掉的代码类似//phase本质就是一个Math类 只不过 phase.phasedValue的值始终在 [-1,1]这个区间里
stack.apply();
//plane.localRotationY+=5;
super.onRenderTick(event);
}
}
}
- as3dmood详解
- 详解
- 详解
- 详解
- 详解
- &,&&,|,||详解
- 详解
- Scala详解--------基础知识详解
- Spring详解-----------事务详解
- github 详解详解
- InputFilter详解、TextWatcher详解
- Spring详解-----------事务详解
- 【词汇详解】事务详解
- Session 详解
- Session 详解
- sizeof详解
- 端口详解
- Meta详解~~~
- XP下如何激活硬盘分区,有什么软件可以用?
- 从vc6.0转到vs2005 2008等出现的错误详解(HYD整理)
- spec1
- 滑动门导航类,多种好看且实用的示例
- 人生感悟真言
- as3dmood详解
- 拉电阻
- ORACLE数据字典
- SCM 供应链管理
- Tips for Cassandra - 1
- sql server sysobjects xtype类型
- 字符串与指针
- SQL Server 2000索引结构及使用方法
- Spring-dynamic学习路程【开始】