|
首页 | 名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
flash 8 新特性的 API 看看上图,flash8特性的API主要集中在下面4块 1 图形效果 [Filters]多种和滤镜有关的类,可以将阴影,模糊这些特效 加到你的 mc上。 [Geometry Classes]提供了 Matrix, Point, Rectangle and ColorTransforms 等各种颜色变换效果 [MovieClip Extensions ]除了可以让mc可以利用Filter, geometry外。还提供了 [Blending Modes]。可以让mc的每一个 点的颜色都和背景相融合,这样可以增加很多效果。[Bitmap Caching ]可以让一个mc [cacheAsBitmap].作为位图的cache, 不用每次都进行矢量计算,提高了 performance. [Bitmap Display ]提供了对位图精确到像素的访问能力 2 文字效果: [TextField Extensions ],flash中原有的TextField 增加了filter[滤镜]还可以定义sharpness,thickness 。 [Text Renderer Control ] ,文字 呈现方法,比如 AntiAliasType,ColorType,GridFitType. 3 文件: [FileReference]:用于文件上传和下载 4 外部接口 [ExternalInterface]: 用于flash和javascript xml,的交互。 主要类如下: BitmapData
BitmapData. Channel Button ExternalInterface FileReference FileReferenceList Filters BevelFilter BitmapFilter BitmapFilter. Quality BitmapFilter.Type BlurFilter ColorMatrixFilter ConvolutionFilter DisplacementMapFilter DropShadowFilter GlowFilter GradientBevelFilter GradientGlowFilter Mode Geom ColorTransform Matrix Point Rectangle Transform MovieClip MovieClip. BlendModeType Text TextRenderer TextRenderer. AntiAliasType TextRenderer. ColorType TextRenderer. FontStyle TextRenderer. GridFitType TextField 这里为了最快的速度上手。只是用 mtasc 和写字本。
方式如下: 1 在http://www.mtasc.org/ 下载 mtasc,解压缩到 d:/mtasc/ [随便什么目录都成] 2 将d:/mtasc/ 加入classpath. 3 在 d:/mtasc/新建 Sonny.as,代码如下: class Sonny {
function Sonny() { var sonny_mc:MovieClip = _root.createEmptyMovieClip("sonny", _root.getNextHighestDepth()); sonny_mc._x = sonny_mc._y=100; sonny_mc.beginFill(0xff6633, 100); sonny_mc.moveTo(0, 0); sonny_mc.lineTo(100, 0); sonny_mc.lineTo(100, 100); sonny_mc.lineTo(0, 100); sonny_mc.lineTo(0, 0); var BlurTest = new flash.filters.BlurFilter(); BlurTest.clone = true; BlurTest.blurX = 20; BlurTest.blurY = 20; sonny_mc.filters = [BlurTest]; } static function main() { var tmp = new Sonny(); } } 代码解释: 首先新建了一个Sonny_mc,然后在中间画了一个橙色的正方形。 然后通过BlurFilter 加了一个blur的效果在正方形上 4 新建 sonny.bat mtasc -header 300:300:25 -main -version 8 Sonny.as -swf Sonny.swf pause 双击sonny.bat。 则可看到Sonny.swf 则可以看到边缘很好的 模糊效果 如下: 环境: windows系统,flash mx2004 中文版
1 进入C:Documents and Settingsyour name Local SettingsApplication DataMacromediaFlash MX 2004zh_cnConfigurationPublish Profiles 注重,这里的your name是你windows系统的用户名。 将 default.xml copy一份。命名为flash8.xml.将 第2行的 <flash_profile version="1.0" name="默认文件"> 默认文件 改成flash8 64行 <Version>7</Version> ,中的7改成8 2 重新启动flash8 。在 发布设置,点击当前配置 后面的导入按钮 ,倒入flash8.xml 。点击下方的确定。如图所示: 好。立刻做一个测试: 新建fla,在flash帧上加入如下代码: // create textfield
this.createTextField("txtField", this.getNextHighestDepth(), 10, 10, 300, 100); txtField.html = true; txtField.htmlText = "<font size=60>http://www.study-i.com";’ target=_blank>http://www.study-i.com</font>"; txtField.textColor = 0x0055CC; txtField.antiAliasType = flash.text.TextRenderer.AntiAliasType.ADVANCED; var dropShadow = new flash.filters.DropShadowFilter(); dropShadow.blurX = 5; dropShadow.blurY = 5; dropShadow.distance = 3; dropShadow.angle = 35; dropShadow.quality = 2; dropShadow.alpha = 0.5; txtField.filters = [dropShadow]; 发布。注重。要在IE中看。因为一般只更新IE中的player。
假如字下面出现了明显的阴影.则成功了.结果如下图所示: 下面我们看个例子:
有如下3张图片: gif图片如下: png图片如下 jpg图片如下: 在flash8中,我们可以将他们load进flash 新建一个fla,加入如下as代码: Stage.scaleMode = "noScale";
urls = ["progressive.jpg", "test2.png", "test1.gif"]; var i = 0; while (i < 3) { var cl = this.createEmptyMovieClip("test" + i, i + 1); cl.createEmptyMovieClip("holder", 1); cl.holder.loadMovie(urls[i]); cl.onPress = function () { this.startDrag(); }; cl.onRelease = function () { this.stopDrag(); }; i++; } 最终的结果如下:
看看 Exte
可以参考下面文档:rnalInterface类的 主要方式。可以看出,ExternalInterface类 主要是用于和xml,还有javascript进行交互的。 _arrayToXML
_argumentsToXML _objectToXML _toXML _objectToAS _arrayToAS _argumentsToAS _toAS _arrayToJS _objectToJS _toJS JavaScript to FlashActionScript
导入flash.external.ExternalInterface; class ExternalInterfaceTest HTML / JavaScript { public function ExternalInterfaceTest() { //第一个参数是暴露给javascript的function名 //第二个参数是真实调用的 ExternalInterface.addCallback("actionScriptFunction", actionScriptFunction); } public function actionScriptFunction(input:String):String { trace(input); return input; } }
Flash to JavaScript在 HTML页面: ActionScript 导入flash.external.ExternalInterface; http://livedocs.macromedia.com/central/sdk/1_5/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Central_SDK&file=00000275.htm FileReference 最主要的方式有2个: 最主要的方式有2个,browse(), 用于 点击后弹出文件选择框 upload(); 假如你上传的服务器脚本是sonny.jsp。上传则可以写成 upload("sonny.jsp","POST"); upload常见事件如下:onUploadStart:开始上传 onUploadProgress 上传进度 onUploadSuccess 上传成功 onUploadFailed 上传失败 好,下面举个例子。因为没有服务器的支持。主要 介绍browse一段。 新建 fla,然后在root上建立 一个sonny_mc和一个sonny_txt [动态文本] 将下面脚本放入 帧上: var fileRef = (new flash.net.FileReference());
sonny_mc.onRelease = function () { if (fileRef.browse()) { sonny_txt.text = "File Name:" + fileRef.name; } }; 发布一下。在浏览器中看看效果。 一般来说,使用 filter类分为3个步骤。 var myfilter = new flash.filters.DropShadowFilter();
// customize the filter through public properties mc.filters = [myfilter]; 下面演示一个经典的例子。显示了模糊,阴影,外辉,内辉四种效果(// Blur,// Shadow,// GlowFilter (outer),// GlowFilter (inner)) var myBlur = new flash.filters.BlurFilter();
myBlur.clone = true; myBlur.blurX = 20; myBlur.blurY = 20; clip_0.filters = [myBlur]; var myShadow = new flash.filters.DropShadowFilter (); myShadow.strength = 1; myShadow.blurX = 20; myShadow.blurY = 20; myShadow.angle = 45; clip_1.filters = [myShadow]; var myGlow = new flash.filters.GlowFilter (); myGlow.strength = 1; myGlow.blurY = 20; myGlow.blurX = 20; myGlow.inner = false; myGlow.color = 0xff0000; myGlow.strength = 1; myGlow.angle = 45; clip_2.filters = [myGlow]; var myGlow = new flash.filters.GlowFilter (); myGlow.strength = 1; myGlow.blurY = 20; myGlow.blurX = 20; myGlow.inner = true; myGlow.color = 0x000000; myGlow.strength = 1; myGlow.angle = 45; clip_3.filters = [myGlow]; 可以看到如下效果: 主要介绍了flash中的bitmap[位图]类。详细是flash.display.BitmapData var img_bmp = new flash.display.BitmapData(256,256,true);
for ( var y:Number=0; y<256; y++ ) { for ( var x:Number=0; x<256; x++ ) { var a:Number = y; var r:Number = x; var g:Number = 256-x; var b:Number = 256-y; var c:Number = (a<<24)|(r<<16)|(g<<8)|(b<<0); img_bmp.setPixel32(x,y,c); } } _root.createEmptyMovieClip("bmp", 1); _root.bmp.attachBitmap(img_bmp, 2); 发布。出现结果如下:
pixelSize = 5; var contain = _root.createEmptyMovieClip("contain", 1 );
contain._y = 235; bitmapData = new flash.display.BitmapData( 300, 225, false ); contain.attachBitmap(bitmapData, 1); bitmapData.draw( clip ); for ( var x=0; x<300/pixelSize; x++ ) { for ( var y=0; y<225/pixelSize; y++ ) { var seed = _root.bitmapData.getPixel( x*pixelSize, y*pixelSize ); for ( var a=0; a<pixelSize; a++ ) { for ( var b=0; b<pixelSize; b++ ) { _root.bitmapData.setPixel( x*pixelSize+a, y*pixelSize+b, seed ); } } } } 运行后的结果如下图,图的上半部分是原图,下半部分是生成的像素图: 返回类别: Flash教程 上一教程: 韩国导航条解析 下一教程: Flash MX制作五彩风车动画 您可以阅读与"Flash 8新特性开发实例教程"相关的教程: · Flash MX 2004新特性实例学习二 · Flash MX 2004新特性实例学习一 · Flash实例教程 小孔成像课件 · Flash实例教程 扫描文字效果 · Flash MX 2004新特性实例学习五 |
快精灵印艺坊 版权所有 | 首页会员中心在线印刷在线编辑付款方式索取样品设计指南连锁门店 |