`
baby69yy2000
  • 浏览: 187664 次
  • 性别: Icon_minigender_1
  • 来自: 自己输入城市...
社区版块
存档分类
最新评论

[转]12个优秀的Flash/ActionScript国际级学堂

    博客分类:
  • Art
阅读更多
本帖最后由 猫天猫地 于 2009-5-14 14:20 编辑

12个优秀的Flash/ActionScript国际级学堂

Adobe Flash是不错的东西,利用平滑的动作使简单的网页富有动态,如果你正在寻找优秀的 Flash 资源,那么这篇文章可以帮到你。
如何制作可爱的网站, Flash 绝对是其中一个重要的因素,这12个网站是应该好好放在收藏夹中的,因为里面的资源对提升我们的 Flash技能很有帮助,本文的每介绍一个网站,均会列出其三个最优秀的教程实例。
1. kirupa.com

kirupa.com在一个多项目的教程网站,除了优秀的Flash教程,还包括Silverlight, ASP.net, PHP, Photoshop,CSS等,精心的详细的教程将Flash制作分解到很详细的分块。里面Flash教程共分为7类,包括绘画基础,特殊效果,服务器端的Flash 和游戏开发。
教程实例:
Simple Page Transitions Creating and Animating Clouds Falling Text 2. gotoandlearn.com

有不少的朋友喜欢看是可视化的教程,然后按照视频教程的内容一步一步制作,如果你是这样的人,那么gotoandlearn.com是一个很不错的选择,在这里Lee Brimelow提供了免费的Flash视频教程。
教程实例:
  
ActionScript 3 Sound Basics Creating 3D Carousels Creating Flash Tooltips 3. gotoAndPlay()

gotoAndPlay()致力于为Flash游戏开发者提供资源,这里是一个由专业开发者组成的社区,有论坛、书籍及相关资源,当然也有针对Flash开发的教程和文章。相关资源可以从话题、专门知识和类型进行分类。
教程实例:
Developing a space shooter game Skeletal Animations How to protect SWFs from decompilers? 4. Adobe - Flash Developer Center

Adobe’s Flash Developer Center是一个以Flash开发者为中心的社区,在这里,我们可以找到关于Flash的教程,文章和相关资源。特别地,在ActionScript Technology Center还可以找到关于ActionScript的文章及相关资源。
教程实例:
Using ActionScript to pause and loop the timeline in Flash Drawing with the Pen tool Creating a 3D button animation for Flash 5. Flash Kit

Flash Kitj是其中一个最大和最古老的Flash社区,成员数量超过60万,在这里,我们可以很轻易就可以找到跟我们有共同兴趣的Flash开发者。这里主要有三个版块:论坛、免费资源、一个大型教程项目(有18个类别)。
教程实例:
Making movieclips point at the mouse Move a sprite with the keyboard How to use hitTest in a simple game 6. ActionScript.org

ActionScript.org是一个提供Flash, Flex, ActionScript相关资源和信息的网站,这里有一个相当活跃的论坛,一个名为ActionScript Library的资源库,可以提供700个对象的资源下载。
教程实例:
Drawing Shapes with AS3 Simple reflection effect with AS2 Physics in ActionScript 3.0 7. Flash and Math ActionScript 3 Tutorials

Flash and Math对AS3的教程进行了详细的收集,这里的资源包括基本概念到高级应用,所以可以满足不同层次的Flash开发者使用,这里也提供教程下载,包括原文件的下载。
教程实例:
Drag-and-Drop in Flash CS3 Tween Tricks in Flash CS3 and ActionScript 3 Simple 3D Drawing in Flash CS3 and ActionScript 3 8. Flash Tutorials on Pixel2Life

Pixel2Life,据该网站的自我推介,是“针对平面设计师,网站管理员和程序员最大的索引型网站”, 这里有超过40000条索引指南,通过这里的Flash Tutorials,我们可以找到许多教程的链接。
教程实例:
Creating a Basic Flash Website (AS3 Version) Actionscript 3 Timer Class Stars animation above the city 9. Flash Perfection

Flash Perfection是一个收集型号的网站,从不同的网站收集了丰富的Flash教程,经验和技巧,具有完善的23个类别帮助我们快速找到我们要找的信息。
教程实例:
Atmospheric Steam Optimizing your Flash SWFs Quick and Easy Zoom Effect in Flash 10. metah.ch

metah.ch有一些很强大的与Flash, ActionScript, Flex, and AIR相关的视频教程,我们还可以从中下载与视频具有关联性的文件,用于我们自己的设计项目上。
教程实例:
Introduction to Loop and Event in AS3 Connecting AS3 with a Database Interaction between AS3 and JavaScript 11. LukaMaras.com

LukaMaras.com 提供了详细的Flash教程和资源,旨在让大家学习Flash,这里还有一个小论坛,有超过3000名注册用户,可以谈笑Flash。
教程实例:
ActionScript drop-down menus How to make pixel buttons in Flash the easy way. How to make an amazing dynamic image gallery in Flash 8 12. Flashmagazine

Flashmagazine是一个提供Flash新闻,评论,资讯和资源的在线杂志,这里的教程版块也可以为Flash开发者提供一些优秀的教程。
教程实例:
How to make a custom AS3 preloader AS3 Photo gallery Rollover effect using masks 本文由Sonny编译:

Math对象,作为一门编程语言,进行数学计算是必不可少的。在数学计算中经常会使用到数学函数,如取绝对值、

开方、取整、求三角函数值等,还有一种重要的函数是随机函数。ActionScript将所有这些与数学有关

的方法、常数、三角函数以及随机数都集中到一个对象里面——Math对象。
Math对象是ActionScript的一块敲门砖,只有掌握了它,才能真正对ActionScript动画编程做到运用自

如。
1  Math对象的方法
1.1  Math.abs
Math对象中集合了许多常用数学函数。Math.abs就是用来计算一个数的绝对值,即一个数去掉正负符号

后的值。其用法如下:
x=Math.abs(-9);
或:
x=Math.abs(num1-num2);
11.1.2  Math.round
Math.round方法将一个浮点数四舍五入为最接近的整数,如:
trace(Math.round(9.4));
trace(Math.round(9.5));
trace(Math.round(-9.4));
trace(Math.round(-9.5));
trace(Math.round(-9.6));
输出窗口中将显示:
9、10、-9、-9、-10
11.1.3  Math.ceil、Math.floor
Math.ceil方法取比一个浮点数大且最接近的整数,Math.floor方法取比一个浮点数小且最接近的整数。

如:
trace(Math.ceil(9.1));
trace(Math.floor(9.1));
trace(Math.ceil(-9.1));
trace(Math.floor(-9.1));
输出窗口中将显示:
10、9、-9、-10

1.4  Math.min、Math.max
Math.min方法取两个数中较小的一个数,Math.max方法取两个数中较大的一个数,如:
trace(Math.min(9,);
trace(Math.max(9,);
输出窗口中显示:
8、9

1.5  Math.pow
Math.pow方法用来计算一个数的乘方,它包含两个参数,第1个参数是底数(要乘方的数),第2个参数

是幂(乘方数)。如计算5的3次方:
trace(Math.pow(5, 3));
输出窗口中显示:
125
Math.pow方法也可以计算一个数的开方,如计算125的开3次方:
trace(Math.pow(125, 1/3));
输出窗口中显示
5

1.6  Math.sqrt
除了用Math.pow计算一个数的开方,还可以使用Math.sqrt计算一个数的平方根,如计算64的平方根:
trace(Math.sqrt(64));
输出窗口中显示
8
它等同于:
trace(Math.pow(64, 1/2));

2  Math对象的常数
Math对象的常数有以下几个:
= Math.PI:圆周率(大约为3.141593)。
= Math.SQRT1_2:1/2的平方根的倒数(大约为0.707107)。
= Math.SQRT2:2的平方根(大约为1.414214)。
= Math.E:欧拉(Euler)常数,自然对数的底(大约为2.718282)。
= Math.LN2:2的自然对数(大约为0.693147)。
= Math.LN10:10的自然对数(大约为2.302585)。
= Math.LOG2E:e的以2为底的对数(大约为1.442695)。
= Math.LOG10E:e的以10为底的对数(大约为0.434294)。
其中Math.PI用得较多,如下面的脚本将弧度值arcdegree转换为角度值angledegree:
angledegree = arcdegree*(180/Math.PI);
下面的ActionScript将弧度1转换为角度:
arcdegree = 1;
angledegree = arcdegree*(180/Math.PI);
trace(angledegree);
输出窗口中显示:
57.2957795130823

3  三角函数
Math对象中的三角函数有:
= Math.sin:正弦
= Math.cos:余弦
= Math.tan:正切
= Math.asin:反正弦
= Math.acos:反余弦
= Math.atan:反正切
= Math.atan2:从x坐标轴到点的角度
三角函数在ActionScript中有着举足轻重的地位,它们在制作一些特效动画时将发挥重要的作用。
在程序语言中通常以x和y标记位置,但是在一个圆周上使用x和y来标记位置并不是很容易。三角函数在

处理与圆周相关的位置参数时很有效。如用某个圆的圆心位置为(x0,y0),半径为r,可以用

y0+r*Math.sin(0)表示该圆水平直径右端点的纵坐标,用x0+r*Math.cos(0)表示该圆水平直径右端点的

横坐标。如图11-1所示用正弦函数和余弦函数标出了一个圆周上4个点的坐标。


图11-1  用三角函数表示圆周上的点
如下所示的ActionScript使影片剪辑绕圆周运动:
onClipEvent (load) {
i = 0;
r = 150;
x0 = 275;
y0 = 200;
}
onClipEvent (enterFrame) {
i += 10;
this._x = x0+r*Math.cos(i/(180/Math.PI));
this._y = y0+r*Math.sin(i/(180/Math.PI));
}
此时的影片剪辑是沿顺时针方向转动的,如要让它沿相反方向转动,只需将i += 10改写成i -= 10即可


ActionScript中的三角函数都是按照弧度计算的。一个完整圆周的弧度数为2*Math.PI,大约是6.283185

,而一个圆周的角度数是360。如要在三角函数中使用角度数,需要将其除以180/Math.PI以转换为弧度

数。
在上面的脚本中,i的值是递增的,而并没有限定在0~360之间。这是因为正弦函数和余弦函数是定义在

负无穷~正无穷上的周期函数,它们的值是以360°为周期循环的。
11.4  字符串和数字的转换
在ActionScript中,字符串和数字之间可以相互转换。在很多时候,将字符串转换为数字或将数字转换

为字符串都是很有必要的。例如,在Flash中有一个变量名为n的输入文本框和一个按钮,按钮中的

ActionScript如下:
on (release) {
trace(n+7);
}
当在输入文本框中输入11,再单击按钮时,输出窗口将显示字符串“11”与字符串“7”相加的结果117

,而不是数字11与数字7相加的结果8。这是因为从输入文本框中获得的是字符串,当表达式中有字符串

和数字时,ActionScript优先考虑字符串,将数字转换为字符串后再进行字符串运算。
为了将字符串转换成数字,可以使用ActionScript提供的函数Number,如将上例所示的脚本改写成如下

所示:
on (release) {
trace(Number(n)+7);
}
当在输入文本框中输入11,再单击按钮时,输出窗口将显示结果18。
如果Number函数中的参数不能转换成数字,则返回结果NaN。
以“0x”开头的字符串将被解释为十六进制数。
对于布尔值,true将转换为1,false将转换为0。例如将上例所示的脚本改写成如下所示:
on (release) {
n = n>10;
trace(Number(n));
}
当输入的值小于等于10时,输出窗口中显示0;当输入的值大于10时,输出窗口中显示1。
除了Number函数以外,函数parseInt可以将字符串转换成整数,函数parseFloat可以将字符串转换为浮

点数。如将上例所示的脚本改写成如下所示:
on (release) {
trace(parseInt(n)+7);
trace(parseFloat(n)+7);
}
当在输入文本框中输入11.99,再单击按钮时,输出窗口中将显示18和18.99。
parseInt和parseFloat在处理字符串时比Number函数更专业一点,它们可以从字符串中取出能转换成数

字的最长字符串进行转换,而忽略后面不能转换成数字的字符串。如将上例的脚本改写成如下所示:
on (release) {
trace(Number(n)+7);
trace(parseInt(n)+7);
trace(parseFloat(n)+7);
}
当在输入文本框中输入11t7.9并单击按钮时,输出窗口中将显示
NaN、18、18
parseInt函数可以有两个参数,第2个参数在2~36之间,表示要转换的数字的基数,即进制数。如将二进

制数1101转换为十进制整数:
trace(parseInt(1101, 2));
输出窗口中显示13。
要将数字转换成字符串可以使用Number对象(动作面板的“对象”/“核心”目录)的toString方法。要

使用toString方法需要先创建一个Number对象,其用法如下:
myNumber = new Number(15);
trace(myNumber.toString(2));
trace(myNumber.toString(16));
toString中的参数与parseInt函数的第2个参数一样,都表示进制数。本例中的2和16分别表示将

myNumber转换为二进制数和16进制数。运行脚本,输出窗口中显示
1111
f
如果省略参数,默认为十进制。

5  随机数
随机数在Flash中的应用非常广泛。
在Flash 5以前的版本中,使用random函数获取一个近似的随机数,如random(10)随机返回0~9这10个整

数中的一个。但在Flash MX中推荐使用Math对象的random方法,即Math.random(),该方法返回一个大于

或等于0并且小于1的随机浮点数。
Math.random方法比random函数得到的结果更精确,但它并不能直接产生一个整数。我们可以使用别的办

法将Math.random方法产生的随机数转换为我们需要的整数,如要得到一个1~10之间的随机整数,可以使

用如下所示的ActionScript:
trace(Math.floor(Math.random()*10+1));
11.6  练习:下雪
打开文件snow.fla,这是一个利用attachMovie和Math.random方法制作的下雪效果,其中每一片雪花的

大小、方向各不相同,如图11-2所示。
[全屏欣赏]

图11-2  下雪特效
该动画中形状各异的雪花与Math.random函数密不可分,下面来看它的制作方法。
(1)在库面板中为snow影片剪辑创建链接,其链接标识符为snow,如图11-3所示。


图11-3  为影片剪辑添加链接
(2)将snow元件拖到场景中,选中该影片剪辑实例,在其中添加如下ActionScript:
onClipEvent (load) {
this._visible = false;
v0 = 3;                                   //速度
num = 50;                                //数量
vx = new Array();                          //记录水平速度的数组
vy = new Array();成                        //记录垂直速度的数组
for (var i = 1; i<=num; i++) {
_root.attachMovie("snow", "snow"+i, i);   //附加num个影片剪辑实例
scale = 100*Math.random()+50;          //随机设定实例大小
with (_root["snow"+i]) {                //with语句
  _xscale = scale;
  _yscale = scale;
  _x = 500*Math.random();           //随机出现在影片水平宽度范围
  _y = 400*Math.random();           //随机出现在影片垂直高度范围
  _rotation = 360*Math.random();      //随机旋转一个角度
  vx[i] = v0*Math.random()+v0;       //随机取得水平方向上的速度
  vy[i] = v0*Math.random()+v0;       //随机取得垂直方向上的速度
}
}
}
onClipEvent (enterFrame) {
for (var i = 1; i<=num; i++) {
with (_root["snow"+i]) {
  _x += vx[i];                      //在水平方向上运动
  _y += vy[i];                      //在垂直方向上运动
  if (_x<0) {                       //超出左边界,从右边界进入
   _x = 500;
  }
  if (_x>500) {                     //超出右边界,从左边界进入
   _x = 0;
  }
  if (_y>400) {                     //超出下边界,从上边界进入
   _y = 0;
  }
}
}
}
以上脚本除了用到数组、attachMovie、Math.random等知识外,还用到了with动作。with动作用来为一

组动作脚本指定一个对象,如本例用with动作指定对象_root["snow"+i],并在其后的大括号中对该对象

的多种属性进行修改,从而避免了为每一个属性重复指定相同的对象,使脚本更紧凑和更简化。
分享到:
评论

相关推荐

    Flash.ActionScript.3.0动画高级教程.pdf

    《Flash.ActionScript.3.0动画高级教程》是一本针对ActionScript 3.0编程语言在Flash动画制作中应用的专业教程。ActionScript是Adobe Flash Platform的核心脚本语言,它的3.0版本带来了许多显著的改进和优化,为...

    Flash+ActionScript+3.0高级动画教程+源代码

    《Flash+ActionScript 3.0高级动画教程》是一本深度探索Flash平台中ActionScript 3.0编程和动画制作的教程。ActionScript是Adobe Flash Professional中的核心编程语言,用于创建交互式内容、游戏和应用程序。这个...

    Flash ActionScript 3.0动画高级教程

    根据给定的文件信息,我们将聚焦于“Flash ActionScript 3.0动画高级教程”,这一主题涉及了Flash动画制作和ActionScript 3.0编程语言的高级应用,由Keith Peters编写,是动画制作领域的权威指南。 ### Flash ...

    flash ActionScript 2.0 实例(1)

    ActionScript 2.0 是 Adobe Flash 平台中用于创建交互式内容的关键编程语言,它为动画、游戏、应用程序和其他富互联网应用提供了动态功能。在本实例中,我们将深入探讨 Flash ActionScript 2.0 的核心概念和实际应用...

    Flash Actionscript3.0高级动画教程源码

    《Flash ActionScript 3.0 动画高级教程》是介绍Flash 10 ActionScript动画高级技术的经典之作,是作者在这一领域中多年实践经验的结晶。书中不仅涵盖了3D、最新绘图API以及Pixel Bender等Flash 10 ActionScript特性...

    flash+actionscript学习的实例和教程

    本资源包包含了关于"flash+actionscript学习的实例和教程",旨在帮助初学者和进阶者深入理解和掌握这两个工具。 **Flash ActionScript 3.0** ActionScript是Flash平台的编程语言,从早期的ActionScript 1.0和2.0...

    Flash ActionScript 3.0 动画高级教程 源码

    《Flash ActionScript 3.0 动画高级教程》是经典著作《FlashActionScript3.0动画教程》的姊妹篇,作者选取了ActionScript游戏和用户交互应用开发中比较深入但却是急需的知识点进行了深入探讨,包括碰撞检测、人工...

    Flash与ActionScript学习网站

    标题中的“Flash与ActionScript学习网站”指的是针对Adobe Flash平台中的编程语言ActionScript的学习资源。ActionScript是基于ECMAScript的一个脚本语言,主要用于创建交互式网页内容、动画以及富互联网应用程序...

    flashdevelop+actionscript

    FlashDevelop支持AS3(ActionScript 3.0)项目,这是ActionScript的一个重要版本,引入了强类型、事件驱动和类的面向对象模型,显著提升了性能和可维护性。在FlashDevelop中,你可以直接编写AS3代码,IDE会提供语法...

    Flash课件ActionScript3.0

    《深入探索Flash课件ActionScript3.0》 ActionScript3.0,作为Flash平台的核心编程语言,为创作交互式内容、游戏以及丰富的互联网应用程序(RIA)提供了强大的动力。本篇将围绕“Flash课件ActionScript3.0”展开,...

    Flash ActionScript 3.0高级动画教程 [文字版+源代码]

    《Flash ActionScript 3.0高级动画教程》是一份深入探讨Flash平台中编程与动画制作的资源,旨在帮助开发者和设计师提升在ActionScript 3.0环境下的技能。ActionScript 3.0是Adobe Flash Professional中的核心编程...

    Flash CS5 ActionScript 3.0 参考.chm

    《Flash CS5 ActionScript 3.0 参考》是一份极为重要的技术文档,它针对Adobe Flash CS5版本中的ActionScript 3.0编程语言提供了详尽的指导和参考资料。ActionScript 3.0是Flash平台上用于创建交互式内容、动画和富...

    flash8.0 ActionScript2.0 电子文档

    《Flash 8.0 ActionScript 2.0 电子文档》是针对Adobe Flash 8.0版本中的ActionScript 2.0编程语言的一份详细教程。ActionScript是Flash平台的核心,用于实现交互性、动画效果和复杂应用程序。这份文档旨在帮助用户...

    Flash-ActionScript-3.0动画基础.pdf

    根据提供的文件标题、描述、标签以及部分内容来看,文档主要涉及Flash和ActionScript 3.0的基础知识,尽管部分内容并未给出具体的信息,但可以基于标题、描述及标签来展开相关知识点。 ### Flash-ActionScript 3.0...

    Flash.ActionScript.3.0动画教程.pdf

    很遗憾,您提供的文件内容信息并没有包含具体的教程内容,而是重复的网址和关于书籍的...即使目前您提供的内容没有具体的教程文本,以上知识点为有志于学习Flash动画和ActionScript 3.0的人提供了一个扎实的学习框架。

    Flash ActionScript 3.0动画教程(中文高清)+源码

    《Flash ActionScript 3.0动画教程》是一本专为学习和掌握Flash中ActionScript 3.0编程语言而设计的教程,特别适合对动画制作和互动设计感兴趣的读者。ActionScript 3.0是Adobe Flash Platform的核心编程语言,它的...

    Flash.ActionScript3殿堂之路完整版

    ActionScript3的强类型特性将被强调,这对于从AS2或其他弱类型语言转过来的开发者来说是个重要的转变。此外,还将介绍AS3中的错误处理机制,确保程序的健壮性。 面向对象编程(OOP)是AS3中的核心概念,书籍会详细...

    Flash 8 ActionScript 2.0 语言参考

    《Flash 8 ActionScript 2.0 语言参考》是一份深入探讨Flash 8中ActionScript编程语言的详细文档。ActionScript是Adobe Flash平台上用于创建交互式内容、动画和应用程序的关键脚本语言,尤其在Web开发领域具有广泛的...

Global site tag (gtag.js) - Google Analytics