论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

flash 8 maelstrom基础教程

文章类别:Flash | 发表日期:2008-9-21 20:07:57

  你可能已经听说或是已开始使用flash8 beta player 了,现在来说flash8 ide还为时过早,因为它还没有正式的放出,但我们可以使用它的代码来挖掘一些新的特性,因为我们可以使用flash 7 IDE来导出FLASH8或者你可以使用mtasc编译器导出FLASH8 影片。
话说简短,我们现在就开始:
使用flash 7 ide发布flash 8.
这种教程相信你已在网上已经有很多很多了,你可以参看本站论坛上的贴子,关于使用flash professinal pro 输出 flash 8,兴许现在已经有许多人已经开始使用beta 2版了。
(此部分跳过原作者所写内容)

首先我们先来看两个例子,第一个范例是对位图的控制,使用的是BitmapData类,Maelstrom 真正给了我们对位图每一个像素点的控制,这个例子是展示你对整个图片的控制来重新制造这张图片。
Flash8 bitMap Mixup

下一个例子是动态的blend mode融合模式的应用,就象你在PHOTOSHOP中的应用一样,当然现在adobe已拥有了macromida肯定FLASH 也是需要有的:)
flash 8 Blend Modes.

也许你已经注重到了下面的两个按钮,假如你使用flash 7来观看,他们看起来是平的,这里面它使用了FLASH8的新的滤镜bevel和glow.

假如你很想知道上面两个例子是如何实现的,你可以下载两个源码,你可以从这里下载
·BitMaData Mix-Up
·Blending Modes
至于它的具体实现方法,留待我们后们的教程具体的研究。

最简单的按钮

让我们先从按钮开始,打开一个新文档
提示:你可以指定滤镜给movieClip,我将展示如何指定bevel滤镜给一个movieClip,通过这个例子,一旦你知道了滤镜的属性,你可以指定任何滤镜给任何的MovieClip.
1. 第一步你需要先创建一个滤镜类的对象,滤镜类都存在一个类包中
如下代码:
var bevel = new flash.filters.BevelFilter();
通过上面的代码我们同时可以看出这个类名应为bevelFilter.as, 它存放在filters目录下,filters存放在flash目录下。假如你想使用其它的类,可以使用相似的语法如下:
var someVariableName = new flash.filters.GlowFilter();
但现在我们需要的只是bevelFilter类。我们已经将类的引用存在bevel变量中,我们可以通过它来改变属性。Bevel(倒角)滤镜的属性包括”type”,”blurx”,”blurry”,等等.
代码如下:
var bevel = new flash.filters.BevelFilter();
bevel.type = "inner";
bevel.blurX = 4;
bevel.blurY = 4;
如你所看到的,假如滤镜有很多属性会输入许多空行,这意味着要输入字符,而如很不乐意输入这么字,因些我索性创建一个数组,将它们以值对的形式存储,然后用for-in循环来遍历他们。
我的代码如下:
var bevelProps = {type:"inner", blurX:2, blurY:2};
var bevel = new flash.filters.BevelFilter();
for(var i in bevelProps){ bevel = bevelProps; }
第一行创建一个匿名对象,元素使用值对的形式,下一部创建一个实例名”bevel”,就象之前我们做的那样,最后用for-in来遍历,来使bevel等于bevelProps;假如不太明白for-in可以查看帮助文档。
现在,在第一次执行时”i”就等于”type”那么bevelProps就等于”inner”,我们也可以说成bevel[“type”]=”inner”;
可能没有人不知beve[“type”]=”inner”实际就是bevel.type=”inner”的不同写法而已J,这种写法是不是会使你的代码更短呢,还省事。

指定滤镜我们使用所有MovieClip,按钮,文本的方法setter,按钮,称为”filter”.在这个例子中”btn”实际上就是指定了OnPress和OnRelease动作的MovieClip,因些它的代码应为:
btn.filters = [glow, bevel];
从上面的代码可以看出,我们可以指定多个滤镜给btn.但当前我们只需要一个bevel.所以我们只需要一个如下:
btn.filters = [bevel];
现在你可以自已试一下了。
1. 在场景中绘制一个矩形,然后将它转换为movieclip.
2. 将这个movieClip命名为”btn”
3. 在主帧上加入如下代码:
var bevelProps = {type:"inner", blurX:2, blurY:2,
knockout:false, strength:1,
quality:100, shadowAlpha:60,
shadowColor:0, highlightAlpha:1,
highlightColor:16777215, angle:45,
distance:2};

var bevel = new flash.filters.BevelFilter();
for(var i in bevelProps){ bevel = bevelProps; }
btn.filters = [bevel];
4,现在可以测试一下了,假如你没有flash 8 beta 2,你可以用flash 7 发布预视看一下效果。
演示:

融合模式
融合blend非常简单,打开你所下载的fla文件,代码如下所示:
var modes = ["normal","hardlight","overlay","alpha","invert","subtract","add","difference",
"darken","lighten","screen","multiply","layer"];
var i = 0;
blender();
//-------------------------------------------|
function pressBtn()
{
i = (i >= (modes.length-1)) ? 0 : i+1;
blender();
}
function blender()
{
picture.blendMode = modes;
blendModeName.text = "current blend mode: " + picture.blendMode;
}
现在我将所有的模式集合在一个数组中,这回我们不需要值对的形式了,当单击时调用函数来执行数组中的每一个元素。
var modes = ["normal","hardlight","overlay",
"alpha","invert","subtract","add",
"difference", "darken","lighten",
"screen","multiply","layer"];
其中在按钮上的下面这行代码的写法
i = (i >= (modes.length-1)) ? 0 : i+1;
等同于
if(i >= modes.length-1)
{
i = 0;
}else
{
i+=1;
}
也就是说当点击按钮时,当到达后一个时,再次点击时就会返回到第一个模式。
总结,flash8在效果上有许多新东西,仿佛又回到了flash4时代探索新东西一样,让人布满了许多幻想,同时也增加了许许多的代码,
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058