Flash实用教程-AS进阶部分
- 格式:doc
- 大小:291.50 KB
- 文档页数:44
Flahs as 入门教程郴州师范 雷勇第一章 AS 的基本常识FLASH 中actionscript (简称AS )是非常重要的组成部分。
首先了解如何在FLASH 输入程序通常我们按F9可以调出动作面板。
或者在FLASH 菜单Window 里面Actions 可打开ACTION 面板,ACTION 面板分右面的脚本窗,和左面的工具窗 脚本窗就是放脚本的地方,而工具窗用于快速地输入各种ACTION ,运算符,函数,属性,对象建议大家使用专家模式,在FLASH 菜单的Edit 的Preferences 的Actions panel 里面选Expert Mode ,以后每次打开ACTION 面板都会自动设置为专家模式(专家模式可直接输入代码,初学者学下去就会知道,很多代码无法在普通模式里输入)AS 的一些概念所有代码都需存于某个地方,可以是frame (帧), button (按钮), or movie clip (电影夹子)。
只要你选择了某按钮或MC ,你之后输入的代码就存放在它的上面了,注意此时ACTION 面板上方提示为Object Actions 。
同理你也可以将代码存放于帧,不过此时提示为Frame Actions 。
当你在专家模式的时候仍无法输入代码,你首先要检查你是否选择了frame, button, 或MC 来存放代码。
首先我们要了解AS 要写在什么地方,什么时候AS 会被触发执行。
1、帧:写在关键帧上面的AS ,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS 就被触发执行了。
常见的例子有在影片结尾的帧写上 stop() 等。
操作方法就是点选关键帧,然后打开AS 面板,写下”stop()”。
2、按钮:不同于帧上面的AS ,按钮上面的AS 是要有触发条件的。
做一个按钮,放到主场景,点选按钮,然后打开AS 面板。
现在如果也在按钮上写 stop(); 那么,输出的时候就会提示错误。
Flash AS入门教程:影片剪辑过渡用AS实现过渡效果效果演示:[next]通过TransitionManager 类,您可以迅速将令人印象深刻的过渡动画效果应用于影片剪辑。
TransitionManager为我们提供了10种过渡效果。
下面来看看怎样使用TransitionManager 类来实现过渡效果。
要实现过渡效果,为编写代码更为方便首先需要导入所有mx.transitions 类和所有mx.transitions.easing 类:import mx.transitions.*;import mx.transitions.easing.*;在导入上面两个类以后,就可以使用TransitionManager类的start()方法将过渡效果应用于影片剪辑上。
格式:TransitionManager.start(影片剪辑名称,{ type:过渡类型,direction:方向,duration:过渡所所需的时间,easing:缓动效果,各种过渡效果所需的参数});start()方法参数的说明:影片剪辑名称:就是要应用过渡效果的MC的实例名称。
过渡类型:上面已提到共有10种过渡效果,这里填上要用的过渡效果名称。
下面将分别介绍这十种效果。
direction:方向:即过渡是进入还是退出。
可以用两个值:Transition.IN和Transition.OUT duration:过渡所所需的时间:一般一个过渡几秒就够了吧,常用3-5。
easing:缓动效果:在过渡效果中可以为过渡效果添加缓动效果,有关缓动效果后面将专门介绍,这里先介绍一个值,我们才好测试过渡效果。
None.easeNone用这个值,就是不用缓动效果。
各种过渡效果所需的参数:除了上面的的参数外,每一种过渡效果可能还有自已的参数,那么就跟在后面就行了。
有了上面的介绍,我们已经对TransitionManager类有了一个大概的认识,下面我们来介绍这十种过渡效果,并用练习来实现它,这样我们便能掌握TransitionManager的应用了。
Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结2019-05-13 11:12Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结■FLASH按钮+链接on(release){getURL("相应链接");■用flash做那种弹出的小窗口分两步:1.给flash中的按钮加入如下action:on(release){getURL("");2.在HTML页面的head./head之间加入下面的","_self","POST");注意要将网页中的flash的ID号命名为"links"on(release){getURL("window.external.AddFavorite('网页');","_self","POST");}■产生随机数产生6--20之间的5个不重复的随机数1):首先产生一个随机数,放在数组对象中的第一个位置;2):产生一个新的随机数.3):检查新产生的随机数和所有目前已产生的随机数是否相同,若是相同则返回(2),否则返回(4)4):将新的随机数加入数组对象中下一个数组元素内.5):检查数组对象个数是否已达到5个,若是跳到(6),否则返回(2)6):结束.AS代码如下:data1=newArray(5);tot=1;data1=[tot-1]=random(20-6+1)+6;do{gen_data=random(20-6+1)+6;reapeat_data=0;for(i=0,i=tot-1;i++){if(gen_data==data reapeat_data=1;break;}}if(reapeat_data==0){tot++data[tot-1]=reapeat_data;}}while(tot 5);trace(data1);■flash一打开就是全屏这里说的方法只是用于flash Player(fp)■如何禁止右键菜单fscommand的方法还是只能适用于fp,在网页中使用还是必须添加额外的参数PARAM value="false"或者用最简单的一句as,在fp和网页中均适用:Stage.showMenu=false;■载入动画loadMovie("dd.swf",a);//这里没有引号~■播完动画后自动跳到某网页getURL("siteindex.htm","_self");//注意这里有引号。
本节应把握的知识要点:①for循环应用;②nextFrame()、prevFrame()动作应用;③层深度的进一步明白得。
与条件判定语句一样,循环语句也是最具有有效性的语句,在知足条件时程序会不断重复执行,直到设置的条件不成立才终止循环,继续执行下面的语句。
这1讲咱们将学习一个最经常使用的for循环语句和两个动作语句nextFrame()、prevFrame()。
for循环语句格式如下:for(变量初始值;循环条件;进入下一循环){条件成立时执行的动作}nextFrame()进入下一帧并停止在该帧prevFrame()返回前一帧并停止在该帧请看例如动画“实例1-8”。
实例1-8 for()循环语句应用画面上是一个简单的线条变幻特效,点击“删除”按钮线条会全数消失,点击“向右”按钮,会显示另一个特效,若是不点击删除按钮直接点击“向右”按钮,会显示另一个特效。
那个成效确实是运用for循环语句对一个含有简单动作补间、实例名为“line”的影片剪辑进行循环复制实现的。
打开源文件看看,场景上有【按钮】、【mc】、【as】3个图层。
【按钮】图层第1帧上有一个“删除”按钮和一个“向右”按钮,第2帧上有一个“返回”按钮;【mc】图层上是一个实例名为“line_mc”的影片剪辑。
在【as】图层第1帧上的语句:stop();line_mc._x=120;line_mc._y=220;line_mc._visible= 0; //设置作为父本的影片剪辑“line_mc”不可见。
for (i=1; i<100; i++) { //设定变量i的初始值为1,设定循环条件为i<100,进入下一循环时变量i自加1。
line_mc.duplicateMovieClip("line_mc"+i, i); //复制新影片剪辑。
_root["line_mc"+i]._x = line_mc._x+3*i; //设置新复制的影片剪辑的横坐标。
《Flash AS3 从入门到精通》90天综合课程提纲前言:为了更好的满足广大游戏开发爱好者不同层次的需求,解决游戏公司用人要求中注重开发质量和项目经验的问题,天地培训特推出Flash游戏开发,"基础+进阶+实训"的90天综合课程。
基础课程:帮助基础较差的学员学习编程语言的基本用法,系统的学习JavaScript基本语法,以及如何用程序化的思想去分析,思考和设计游戏。
进阶课程(AS3游戏编程):1.学习FlashProfessional的基本用法,系统的学习AS3基本语法,以及如何用程序化的思想去分析,思考和设计游戏.课程结束后一般学员可独立完成"打砖块"等简单游戏.2.FlashBuilder的用法,继承封装等OOP概念和方法,以及核心显示架构,事件,事件流,位图,声音,网络通信等重要内容,重点是如何使用面向对象的方法去分析,设计和实现一些较复杂的项目.如<雷电>,塔防游戏等.实训课程:主要是模拟现实中游戏公司如何立项,制定项目计划,团队成员之间如何协作开发,如何对项目资源和代码的版本化管理等,让学员在进入公司工作以后,可以很快的融入到公司正常项目中.本阶段课程要求学生在讲师的指导下独立设计和开发一款完整的游戏.学习目标1、打下牢固的编程语法基础,学习面向对象编程思想,能够理解类、对象、继承、多态、接口等OOP 概念,学习简单常用的设计模式;2、建立良好的编程习惯,能够写出高可读性的代码,能够按照规范命名变量、定义方法、流程控制等;3、学习标准的面向对象开发流程,严格按照OOA——OOD——OOP的流程开发应用程序、网页游戏、手机游戏等。
4、熟悉如何与设计师、后台技术工程师协同工作,能熟练掌握常用的Flash开发工具。
第一部分:基础课程一、JavaScript编程语言1.了解什么是程序?目前主流的编程语言有哪些。
了解从事IT行业所应具备的技能和知识。
as的用法整理一、引言AS(ActionScript)是一种基于Adobe Flash的脚本语言,用于开发互动式的富媒体应用程序和游戏。
它具有强大的功能和灵活性,因此在网页设计和开发领域中广泛应用。
本文将整理AS的用法,以帮助初学者更好地掌握这一技术。
二、基础知识1. AS是面向对象的语言:AS支持面向对象编程范例,拥有类、继承、多态等特性,这使得代码可以模块化,并且容易维护和扩展。
2. AS与Flash之间的关系:AS作为Flash平台上的脚本语言,可以直接与Flash文件进行交互。
通过AS,开发人员可以创建动态和交互性更强的Flash内容。
3. AS与HTML/CSS的关联:尽管AS主要用于制作交互式Flash应用程序,但它也可以嵌入到HTML文件中实现与网页元素(如按钮、表单等)的交互。
三、常见用法1. 动画效果:使用AS可以创建各种动画效果,例如渐变过渡、缓动效果等。
通过控制时间轴上对象属性的变化以及设置适当的事件处理函数,你可以实现令人惊叹的动画效果。
2. 事件处理:AS允许你为Flash对象绑定各种事件,并在事件触发时执行相应的代码。
例如,你可以通过在按钮上添加鼠标点击事件,实现用户点击按钮后执行特定操作的功能。
3. 数据验证和表单处理:对于具有表单或用户输入的应用程序,AS提供了丰富的验证和处理工具。
你可以使用正则表达式、条件语句等方式来验证用户输入数据的有效性,并根据不同情况采取相应措施。
4. 多媒体处理:AS支持多种多媒体文件格式(如图片、音频、视频),可以灵活地加载和播放这些文件。
你可以使用AS创建自定义音频播放器、视频播放器等功能。
5. 网络通信:与服务器进行数据通信是许多网络应用程序的关键功能。
AS提供了一系列客户端网络协议,如HTTP、SOCKS等,使得开发者能够构建与服务器的数据交互功能。
四、进阶技巧1. 优化代码性能:编写高效率和低内存消耗的代码是开发者需要追求的目标之一。
Flash AS 实例进阶-循环按钮(1) >>>>>点击查看动画效果<<<<<实例2-1循环按钮⑴基本思路①按钮触发事件发生后有可执行的两个以上的命令。
②由条件判断语句来执行不同的命令。
③按钮的外观要有相应的切换(如果需要)。
(2)新知识点%(模)的应用,n%m 的意思是n 除以m 的余数,例如10%3 的返回值是1 ,3%10 的返回值是 3 ,一个递增变量对一个常数求模可以得到一组有规律的循环变量,其用途是很广的。
(3)实例说明①场景上是一个有补间动作且在第 1 帧停止的MC 。
②右下角是两个分别写有“ stop ”和“ play ”的影片剪辑元件和一个隐形按钮,分别放在不同的图层,但叠放在相同位置。
③由隐形按钮上的脚本循环控制 3 个MC 的播放状态,循环周期为 2 次④由左下角按钮上的脚本循环控制有补间动作的MC ,循环周期为 3 次。
(4)编写动作脚本①在图层7 的第 1 帧输入:②在隐形按钮上输入:③在另一按钮上输入:(5)小结本讲虽然没有涉及太多的新知识,但开始着重思路训练,为今后学习打好基础,并开始积累和掌握动作脚本编写方法。
(6)课后练习利用教程提供的源文件里的影片剪辑“环”,再作一循环按钮,每点击按钮两下分别显示3 种不同形态,向前走,向后走,和躺下不动,见效果。
>>>>>点击查看动画效果<<<<< 练习2-1Flash AS 实例进阶-声音控制>>>>>点击查看动画效果<<<<<实例2-2声音控制(1)基本思路①建立一个可由AS 控制声音对象。
②将库中指定的声音附加到这个对象上。
③制作一个有放音和消音图标的MC 。
④开始为自动播放,并有放音图标显示。
⑤第一次点击MC 后,显示静音图标,存储当前音量值,同时音量设为0 。
⑥再次点击,显示放音图标,并为声音对象设置已存储的音量值。
(2)新知识点mySound=new Sound();// 新建一个声音对象,我们这里对象的名称是”shen g” 。
mySound.attachSound(); 从库中加载声音。
mySound.getBytesLoaded(); 获取声音载入的字节数。
mySound.getBytesTotal(); 获取声音的总字节数。
mySound.start(); 开始播放声音。
括号中若填制整数值,即从声音播放后的这一秒开始播放。
mySound.stop(); 停止声音的播放。
mySound.getVolume(); 获取当前的音量大小( 范围从0-100) 。
mySound.setVolume(); 设置当前音乐的音量( 范围从0-100) 。
mySound.duration; 声音的长度。
( 单位为毫秒,1000 毫秒= 1 秒)mySound.position; 声音已播放的毫秒数。
( 单位为毫秒)(3)实例说明①第一帧插入一个有补间动作的MC“摇椅”。
②导入到库一声音文件,右击该文件,选菜单【链接】,在出现的对话框中进行设置,如图2-1 :图2-1 链接属性面扳其中的【标识符】即为对象命名,这样程序才能识别和控制,和前面课程讲的为MC注册实例名及duplicateMovieClip 后的MC名同理;【链接】中选中“为动作脚本导出”和“在第一帧导出”,前者是确定要接受动作脚本控制,后者是确定要在生成SWF文件时被导出。
③制作一命名“控制”的有喇叭放音和消音图标的MC ,在第一帧初始化,第2 帧停止。
(4)编写动作脚本①在MC “控制” 第 1 帧输入:i = 0;this.lb2._visible = 0;②在MC “控制” 第 2 帧输入:stop();③主时间轴第 1 帧输入:sheng = new Sound();// 构建一个Sound 对象“ sheng ”sheng.attachSound("ge");// 将库中的声音文件”ge” 加载到声音对象上sheng.start(3);// 令声音从第3秒开始播放④最后一帧输入:if (sheng.position == sheng.duration) {// 条件为已播放长度等于声音总长度sheng.start(3);// 从第 3 秒重新播放}gotoAndPlay(2);⑤在MC “控制” 上输入:on (release) {if (i == 0) {n = _root.sheng.getVolume();// 获取当前的音量值并赋值给变量n_root.sheng.setVolume(0);// 设置Sound 对象的音量为0this.lb1._visible = 0;this.lb2._visible = 1;i = 1;} else {_root.sheng.setVolume(n);// 设置Sound 对象的音量为nthis.lb1._visible = 1;this.lb2._visible = 0;i = 0;}}(5)小结本讲介绍了Sound 类的常用的方法,更多的内容可在帮助文件里查看到,静音是让音量降到0 ,而不是停止,恢复播放只是要恢复原来的音量,而播放的进度还是不改变的,这节是在MC 上用on() 事件处理函数实现了和按钮相同的控制效果,MC 上使用on() 可更灵活多样,MC 内部可以嵌套MC ,并可以加写动作脚本。
(6)课后练习制作一个有图标显示的控制声音播放和暂停的实例,要求暂停后再播放要从该点开始,每次播放结束后返回到起始状态,效果范例:>>>>>点击查看动画效果<<<<< 练习2-2Flash AS 实例进阶-打字效果前面讲了“图”和“声”的一般调理,这节我们开始琢磨“字”,要说这“字”,大号叫文本,还有三种类型:静态文本、动态文本和输入文本,下面我们就把这三样捏到一起作个综合练习实例。
>>>>>点击查看动画效果<<<<<实例2-3打字效果( 1 )基本思路①建一个输入文本,用来键盘输入或复制粘贴一段文字。
②为输入文本制作一滚动条,上下各一个按钮,中间一个“滑块”,“滑块”要和文本同步垂直变动,并相互作用,编写这段脚本可是够累人的。
③建一个动态文本,根据指令来显示输入文本的内容。
④建一个按钮,令动态文本开始“表现” 。
⑤在帧上写脚本,让动态文本的按咱要求“演”。
⑥上面只是说到要用输入文本和动态文本,不是说要用 3 样吗,那在就在按钮上输入“打字”俩字,别看字少,可是用到了一种类型,这下齐了。
( 2 )新知识点my_txt.scroll // 定义文本在文本字段中的垂直位置。
my_txt.maxscroll;// my_txt.scroll 的最大值。
my_str.substring// 返回一个字符串。
arguments.length// 实际传递给函数的参数数量。
Math.random()// 返回一个0-1 之间的随机数。
Math.ceil()// 对数字或表达式按进位法取整。
(3)实例说明①建一输入文本,变量名:shuru 。
②建一动态文本,变量名:shuchu 。
③从公用库中拖入一按钮,点开并插入“打字”二字。
④为输入文本作一滚动条,包括上下按钮和一个类型为MC 的“滑块”。
( 4 )编写动作脚本①在“打字”按钮上输入:on (press) {Play();}②在滚动条的向上按钮上输入:on(release){shuru.scroll-=1;// 可显示的文本垂直下移一个单位,即向上多看一行。
}③在滚动条的向下按钮上输入:on(release){shuru.scroll+=1;// 可显示的文本垂直上移一个单位,即向下多看一行。
}④在滚动条的“滑块”上输入:onClipEvent (load) {shang = this._y;// 设此变量作为“滑块”的初始垂直位置zuoyou = this._x;// 设此变量作为“滑块”的初始水平位置N = 30; // 设此变量作为“滑块”的垂直位置变动的最大值,本例中其实是一以常量状态存在。
t = 0; // 设此变量作为if 语句的判断条件}onClipEvent (enterFrame) {// 按帧频循环执行以下动作if (t == 0) { 满足条件执行此大括号内动作Ni = (N+2)*(_root.shuru.scroll-1)/(_root.shuru.maxscroll);// 用N 乘于当前显示行占总行数的比例,再赋值给变量Ni ,其中的“ -1 ”和“ +2 ”是为较准确显示而加的修正值。
this._y = shang+Ni;// 此MC 的垂直位置依Ni 而变化。
} else {// 不满足条件执行此大括号内动作Ni = this._y-shang; 将当前垂直位置与原始位置的差赋值给Ni_root.shuru.scroll = Ni/N*(_root.shuru.maxscroll)+1;// 用Ni 占N 的比例乘于文本的总行数的值赋予现实显示的行数。
}}on (press) {nextFrame();// 转到下一帧,这里是为要取得的不同的外观效果。
t = 1;// 为if 语句判断条件的变量赋新值startDrag(this, true, zuoyou, shang, zuoyou, shang+N); // 鼠标拖动MC ,并限制在括号的设定范围内。
}on (release,releaseOutside) {prevFrame();// 转到上一帧stopDrag();// 停止拖动t = 0;// 为if 语句判断条件的变量赋原值}⑤在“滑块”上的第1帧上输入:stop();⑥主时间轴第 1 帧上输入:i = 0;shuru = "";nextFrame(); //变量初始化后转到下一帧停止。
⑦主时间轴第2帧上输入:shuchu = shuru.substring(0, i)+"_";// 将输入文本的字符串变量的的第 1 个到第i+1 个的字符,同时在后面加个"_"组成的一个字符串赋给动态文本的变量。
gotoAndPlay(Math.ceil(Math.random()*4)+2); 避免死板显示,将播放头的跳转位置用随机函数值来确定。
shuchu.scroll = shuchu.maxscroll;// 设定显示行,使得动态文本框显示满后向上滚动。