flash 3d flash3d 研究所 pv3d 共享资源  | 经典范例  | 视频教程  | 友情链接  | 联系我们
登陆 | 注册  flash 3d 研究所
讨论区





最近更新:
● payday loan阁下在教程区里 回复“《pv3d, sandy, away3d...”(05:56:23)
● bad credit payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:13)
● payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:12)
浏览主题:如何给物体描边

如何给物体描边
noxss (2009-10-23 00:58:01)

看到有人问了,就发上来。。。因为FLASH的绘图是2D滴。。。所以很容易实现,只要加上一个GlowFliter就可以了。。。^_,^
比如:

viewport.filters = [new GlowFilter(0x000000, 1, 4, 4, 10)];

就行了!呵呵,简单吧!

看看ADOBE大神是怎么讲关于GlowFilter的:

GlowFilter

包 flash.filters
类 public final class GlowFilter
继承 GlowFilter BitmapFilter Object


语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9




使用 GlowFilter 类可以对显示对象应用发光效果。 有多个用于发光样式的选项,包括内侧发光或外侧发光以及挖空模式。 在投影滤镜的 distance 和 angle 属性设置为 0 时,发光滤镜与投影滤镜极为相似。 您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
滤镜的具体使用取决于要应用滤镜的对象:

若要对显示对象应用滤镜,请使用 filters 属性(继承自 DisplayObject)。 设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。
若要对 BitmapData 对象应用滤镜,请使用 BitmapData.applyFilter() 方法。 对 BitmapData 对象调用 applyFilter() 会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,显示对象的 cacheAsBitmap 属性将设置为 true。 如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。

此滤镜支持舞台缩放。 但是,它不支持常规缩放、旋转和倾斜。 如果对象本身进行了缩放(如果将 scaleX 和 scaleY 设置为除 1.0 以外的其它值),滤镜将不进行缩放。 只有用户在舞台上进行放大时它才会缩放。

如果结果图像的宽度或高度超过 2880 像素,则不应用滤镜。 例如,如果您在放大某个大型影片剪辑时应用了滤镜,则在结果图像超过 2880 像素的限制时滤镜将关闭。


查看示例

另请参见

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle


--------------------------------------------------------------------------------

公共属性
隐藏继承的公共属性
显示继承的公共属性
属性 定义方
alpha : Number
颜色的 Alpha 透明度值。 GlowFilter
blurX : Number
水平模糊量。 GlowFilter
blurY : Number
垂直模糊量。 GlowFilter
color : uint
光晕颜色。 GlowFilter
constructor : Object
对类对象或给定对象实例的构造函数的引用。 Object
inner : Boolean
指定发光是否为内侧发光。 GlowFilter
knockout : Boolean
指定对象是否具有挖空效果。 GlowFilter
prototype : Object
[静态] 对类或函数对象的原型对象的引用。 Object
quality : int
应用滤镜的次数。 GlowFilter
strength : Number
印记或跨页的强度。 GlowFilter

公共方法
隐藏继承的公共方法
显示继承的公共方法
方法 定义方
GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
用指定参数初始化新的 GlowFilter 实例。 GlowFilter
clone():BitmapFilter
返回此滤镜对象的副本。 GlowFilter
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。 Object
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。 Object
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。 Object
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。 Object
toString():String
返回指定对象的字符串表示形式。 Object
valueOf():Object
返回指定对象的原始值。 Object

属性详细信息
alpha 属性

alpha:Number [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



颜色的 Alpha 透明度值。 有效值为 0 到 1。 例如,0.25 设置透明度值为 25%。 默认值为 1。



实现
public function get alpha():Number
public function set alpha(value:Number):void

blurX 属性

blurX:Number [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



水平模糊量。 有效值为 0 到 255(浮点)。 默认值为 6。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。



实现
public function get blurX():Number
public function set blurX(value:Number):void

blurY 属性

blurY:Number [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



垂直模糊量。 有效值为 0 到 255(浮点)。 默认值为 6。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。



实现
public function get blurY():Number
public function set blurY(value:Number):void

color 属性

color:uint [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



光晕颜色。 有效值采用十六进制格式 0xRRGGBB。 默认值为 0xFF0000。



实现
public function get color():uint
public function set color(value:uint):void

inner 属性

inner:Boolean [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



指定发光是否为内侧发光。 值 true 表示内侧发光。 默认值为 false,即外侧发光(对象外缘周围的发光)。



实现
public function get inner():Boolean
public function set inner(value:Boolean):void

knockout 属性

knockout:Boolean [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



指定对象是否具有挖空效果。 值为 true 将使对象的填充变为透明,并显示文档的背景颜色。 默认值为 false(不应用挖空效果)。



实现
public function get knockout():Boolean
public function set knockout(value:Boolean):void

quality 属性

quality:int [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



应用滤镜的次数。 默认值为 BitmapFilterQuality.LOW,与应用一次滤镜等效。 值 BitmapFilterQuality.MEDIUM 两次应用滤镜;值 BitmapFilterQuality.HIGH 三次应用滤镜。 滤镜的值越小,呈现速度越快。

对于大多数应用,quality 的值为低、中或高就足够了。 您可以使用其它数值(最高为 15)来达到不同的效果,但是值越高,呈现速度越慢。 除了增加 quality 的值,仅增加 blurX 和 blurY 属性的值通常也可以获得类似的效果,而且呈现速度更快。




实现
public function get quality():int
public function set quality(value:int):void

另请参见

flash.filters.BitmapFilterQuality
strength 属性

strength:Number [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



印记或跨页的强度。 该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。 有效值为 0 到 255。 默认值为 2。



实现
public function get strength():Number
public function set strength(value:Number):void

构造函数详细信息
GlowFilter () 构造函数

public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9


用指定参数初始化新的 GlowFilter 实例。

参数 color:uint (default = 0xFF0000) — 光晕颜色,采用十六进制格式 0xRRGGBB。 默认值为 0xFF0000。

alpha:Number (default = 1.0) — 颜色的 Alpha 透明度值。 有效值为 0 到 1。 例如,0.25 设置透明度值为 25%。

blurX:Number (default = 6.0) — 水平模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。

blurY:Number (default = 6.0) — 垂直模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。

strength:Number (default = 2) — 印记或跨页的强度。 该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。 有效值为 0 到 255。

quality:int (default = 1) — 应用滤镜的次数。 使用 BitmapFilterQuality 常量:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
有关详细信息,请参阅 quality 属性的说明。


inner:Boolean (default = false) — 指定发光是否为内侧发光。 值 true 指定发光是内侧发光。 值 false 指定发光是外侧发光(对象外缘周围的发光)。

knockout:Boolean (default = false) — 指定对象是否具有挖空效果。 值为 true 将使对象的填充变为透明,并显示文档的背景颜色。

另请参见

BitmapFilterQuality
GlowFilter.quality
方法详细信息
clone () 方法

override public function clone():BitmapFilter

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9



返回此滤镜对象的副本。


返回 BitmapFilter — 具有原始 GlowFilter 实例的所有属性的新 GlowFilter 实例。

示例 如何使用示例


以下示例将绘制一个正方形,并对它应用模糊滤镜。 该示例的一般工作流程如下:
导入所需的类。
声明 draw 方法中所用的三个属性,该方法使用 Graphics 类的方法(通过 Sprite 的 graphics 属性访问)绘制一个橙色正方形。
创建构造函数,该函数执行以下操作:
调用 draw 方法。
创建名为 filter 的新 BitmapFilter 对象,并将对 getBitmapFilter()(用于定义滤镜)的调用的返回值赋予它。
创建一个名为 myFilters 的新数组,并将 filter 添加到该数组。
将 myFilters 分配给 BevelFilterExample 对象的 filters 属性。 这将应用 myFilters 中包含的所有滤镜,在本例中仅为 filter。

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.GlowFilter;

public class GlowFilterExample extends Sprite {
  private var bgColor:uint = 0xFFCC00;
  private var size:uint = 80;
  private var offset:uint = 50;

  public function GlowFilterExample() {
  draw();
  var filter:BitmapFilter = getBitmapFilter();
  var myFilters:Array = new Array();
  myFilters.push(filter);
  filters = myFilters;
  }

  private function getBitmapFilter():BitmapFilter {
  var color:Number = 0x33CCFF;
  var alpha:Number = 0.8;
  var blurX:Number = 35;
  var blurY:Number = 35;
  var strength:Number = 2;
  var inner:Boolean = false;
  var knockout:Boolean = false;
  var quality:Number = BitmapFilterQuality.HIGH;

  return new GlowFilter(color,
        alpha,
        blurX,
        blurY,
        strength,
        quality,
        inner,
        knockout);
  }

  private function draw():void {
  graphics.beginFill(bgColor);
  graphics.drawRect(offset, offset, size, size);
  graphics.endFill();
  }
}
}


--------------------------------------------------------------------------------



© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Sun Oct 26 2008, 02:41 AM -07:00


flash 3d 研究所 DDM君
(2009-10-23 09:55:10)
顶noxss君!
对,好像NDS的勾边也很多是这样解决的,比如勇者斗恶龙最新一代。但NDS本身也有真的三维勾边功能,毕竟机能目前比flash3d还是要强很多的。



flash 3d 研究所 noxss
(2009-10-31 13:05:30)
NDS毕竟有硬件支持呢。。。期待FLASH支持显卡加速的那一天 ;)

flash 3d 研究所 TG
(2009-11-01 10:38:31)
支持技术贴~ 顶顶


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了