WEB开发网
开发学院图形图像Flash AS3.0中的显示编程(二)-- DisplayObject类 阅读

AS3.0中的显示编程(二)-- DisplayObject类

 2010-10-10 07:24:20 来源:WEB开发网   
核心提示: 假如被遮罩的对象是一个TextFiled对象,那么遮罩的形状只能是一个矩形框,AS3.0中的显示编程(二)-- DisplayObject类(2),即使你设置了一个圆形作为遮罩,也会自动转化为矩形框,自己懒得写了,//加载图像varloader:Loader=newLoader();varurl

假如被遮罩的对象是一个TextFiled对象,那么遮罩的形状只能是一个矩形框,即使你设置了一个圆形作为遮罩,也会自动转化为矩形框。

如果你一定要实现特殊形状的遮罩效果,需要用StaticText(静态文本)来实现。

3.Alpha通道遮罩

如果遮罩和被遮罩的显示对象都设置了位图缓存(cacheAsBitmap = true),那么就可以使用透明遮罩。通俗的说,就是对遮罩应用一个透镜,然后效果体现在被遮罩的显示对象上。我抄袭个官方的例子吧,大家可以直接复制代码,自己懒得写了。

   // 加载图像 
   var loader:Loader = new Loader(); 
   var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/ 
   images/image1.jpg"); 
   loader.load(url); 
   this.addChild(loader); 
   // 创建 Sprite并绘制渐变椭圆 
   var oval:Sprite = new Sprite(); 
   var colors:Array = [0x000000, 0x000000]; 
   var alphas:Array = [1, 0]; 
   var ratios:Array = [0, 255]; 
   var matrix:Matrix = new Matrix(); 
   matrix.createGradientBox(200, 100, 0, -100, -50); 
   oval.graphics.beginGradientFill(GradientType.RADIAL, 
   colors, 
   alphas, 
   ratios, 
   matrix); 
   oval.graphics.drawEllipse(-100, -50, 200, 100); 
   oval.graphics.endFill(); 
   this.addChild(oval); 
   // 对于两个显示对象都设置 cacheAsBitmap = true。 
   loader.cacheAsBitmap = true; 
   oval.cacheAsBitmap = true; 
   // 将椭圆设置为加载器的遮罩 
   loader.mask = oval; 
   // 使椭圆可拖动。 
   oval.startDrag(true);

Tags:AS 显示 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接