1、FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写

认识“动作”面板
  在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。
按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。左侧部分又分为上下两个窗口。。
左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。
   下方是一个“脚本”导航器。里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。
   右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具 ,向“脚本”窗口添加动作。

  在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。
?
  在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。
  好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。

如何编写flash中的脚本

首先,要知道编写脚本,不需要用户对AS有完全的了解!

  现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。

  此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。当你在时间周的关键桢上添加了脚本,那么当flash运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。

  还有一些简单的知识,AS中的对象都包括什么呢?它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(movieclip)对象,它的:属性就有_height(高度),_rotation(旋转),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。在以后的教程中会陆续给大家介绍一些基础脚本的使用技巧。

  

  二、需要学到的基本AS命令如下:

  stop()、play()、gotoandplay()、gotoandstop()、nextFrame()、prevFrame();、nextScene()、prevScene();、stopAllSounds(); 按钮的AS编写规则

播放
   on (release) {
_root.mc.play();
}

  如果要在按钮身上写脚本的话,必须使用on(事件){//脚本程序}的格式来写!上面的脚本作用就是:当你在这个按钮上按一下鼠标(release事件)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的mc开始播放!

  6、同理:咱们选中舞台上的暂停按钮,在它上面输入:
on (release) {
_root.mc.stop()
}

  然后依次在快退上输入:
on (release) {
_root.mc.prevFrame(); //prevFrame表示回到动画的上一桢
}

  在快进的按钮上输入:
on (release) {
_root.mc.nextFrame();
}
  在停止的按钮上输入:
on (release) {
_root.mc.gotoAndStop(1); //跳到mc影片的第一桢,并停止播放!
}

二、按钮AS的编写
在 flash 中的交互功能一般是由按钮来完成的。掌握按钮的编写规则也是一个闪客的基本技
能。
OK,现在咱们来说说按钮脚本如何编写。上一讲中提过,AS 脚本编写可以写在时间轴的关
键桢上,也可以写在对象本身上面。按钮也不例外,既可以写在时间轴上,也可以写在按钮
本身上面。只不过这两种编写规则都要遵循一定的规矩,这是后话。
现在咱们来做一个例子, 做一个按钮, 这个按钮要实现的功能就是打开一个指定的网页。
(这个例子非常基础,用这个例子来讲解按钮 AS 两种编写方法。)
第一种:把脚本写在按钮本身。
一、 在舞台上绘制一个矩形,选中矩形并按 F8,将这个矩形转换成按钮元件。
二、 编写动作脚本:
选中按钮,按 F9,打开动作面板,在专家模式下输入以下脚本:
on(release){
getURL("http://3800hk.com/","_blank")
}
现在这个按钮就实现了一个打开网页的功能。通过例子你应该注意到,按钮的 AS 书写规则
就是:
on(事件){
//要执行的脚本程序,刚才的例子是用 getURL 来打开一个网页。你也可以使用脚本程序来
执行其他功能,例如跳转到某一个桢,或载入外部一个动画文件。
}
大可以看到,其实就一个 on语句,这个 on语句就是按钮的 AS 编写规则了。需要注意
的是 on 里面的事件,这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的
事件是 release(按一下鼠标)我现在把常用的按钮事件列出来:
事件名字 说明
Press 事件发生于鼠标在按钮上方,并按下鼠标
Release 发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按一下”鼠标
Releaseoutside 发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开
鼠标
Rollover 当鼠标滑入按钮时
Rollout 当鼠标滑出按钮时
Dragover 发生于按着鼠标不放,光标滑入按钮
Dragout 发生于按着鼠标不放,光标滑出按钮
Keypress 发生于用户按下特定的键盘按键时
下面来看看第二种按钮 AS的编写方法。
这种方法是把脚本程序写在时间轴上,而不是按钮本身上面。
一、 选中按钮,在下面的属性面板中为按钮起一个名字,这里我起了一个 bt
二、 选中时间轴的第一桢,按 F9 打开动作面板。输入如下脚本:
bt.onrelease = function() {
getURL("http:// http://3800hk.com/", "_blank");
};
这种编写 AS 的方法要遵循的规则就是下面的公式而已:
按钮实例的名字.事件名称=function(){
//要执行的脚本程序。
}
大家只要记住这个公式就可以套用了。
按钮的 AS 就先将到这了,这个可以算是基本技能了。希望大家都能掌握。
       三、影片剪辑的AS编写
影片剪辑在flash中可以说是使用最多的一种元件了,那么对于它的AS也是不
少。
在讲解之前,我还是要重新说一下电影剪辑AS 的编写规则,和上次讲按钮一样,
分为两种,一种是写在电影剪辑本身上,一种是写在时间轴上面。
一、首先我们先来做个简单的小例子。
或许你不用 AS 就能做出一个小球的移动动画。但是如果让你用 AS 来实现小球的移动呢?
下面来看看如何用 AS 来实现吧。
在这个例子里,你首先会了解到如何在电影剪辑本身上编写 AS,以及编写规则。
1、 新建立一个影片剪辑元件,里面你就随便画一个圆吧。之后把这个影片剪辑拖放到
舞台之中(也就是创建一个此影片剪辑的实例)。
2、 现在开始编写脚本,选中这个 MC,按 F9 打开动作面板,按照图 01 显示选择
onClipEvent,之后在显示的事件中选择 enterFrame,然后在里面编写脚本如下:
this._x+=5
这个脚本编写之后应该是:
onClipEvent (enterFrame) {// enterFrame的意思四以影片帧频不断地触发此动作
this._x += 5; //this 代表这个影片剪辑自身。_x 表示影片剪辑的X 轴坐标。
}
呵呵,按下你的 ctrl+回车测试一下吧,一个简单的移动动画就搞定了。
从这个例子咱们不难看出,如果把 AS 写在影片剪辑本身上,那么它是有自己的书写格
式的。正确的书写格式就是:
onClipEvent (事件) {
//需要执行的脚本程序
}
这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。括号里的“事件”其实是
个触发器,当事件发生时,执行该事件后面花括号中的语句。,具体有哪些事件,我把它们
都列出来。
- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。处理与 Unload 影
片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。
- enterFrame 以影片帧频不断地触发此动作。
- mouseMove 每次移动鼠标时启动此动作。_xmouse 和 _ymouse 属性用于确定当前鼠
标位置。
- mouseDown 当按下鼠标左键时启动此动作。
- mouseUp 当释放鼠标左键时启动此动作。
- keyDown 当按下某个键时启动此动作。使用 Key.getCode 方法获取最近按下的键的
有关信息。
- keyUp 当释放某个键时启动此动作。 使用 Key.getCode 方法获取最近按下的键的有关
信息。
- data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。当与
loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。当与
loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。
了解了事件之后,你可以自己试着修改一下脚本,如果让你们点一下鼠标,舞台上的圆
就移动一下,该怎么做呢?
关于把 AS 写在影片剪辑本身的例子先讲到这,下面来看看如果把 AS 写在时间轴上面
的话,应该怎么写。
首先你把刚才的脚本去掉。然后需要为这个影片剪辑实例起一个名字,比如起名为 mc
在选中时间轴的第一桢,打开动作面板,输入以下脚本:
mc.onEnterFrame = function() {
this._x += 5; //你也可以把这句改为 mc._x+=5 自己想一下为什么。
};
显而易见,在时间轴上的写法就应该套用以下公式:
实例名.事件名称=function(){
//脚本程序
}
需要注意的是,这种写法的事件名称不要忘了在前面加一个 on,比如,事件如果是
enterframe的话,你就应该写成 onenterframe
下面简单说一下影片剪辑的属性。比如,影片剪辑有自己的X、Y 轴坐标,有自己的透
明度(_alpha),这些都是它的属性。
那么如何使用这些属性呢?你可以使用“点”语法来对属性进行设置。
把上面的脚本修改一下。
mc.onenterframe = function() {
mc._x += 5;
mc._alpha = random(100);
};
这里我加了一句 this._alpha = random(100),它是设置影片剪辑的透明度的,使用的语句
就是_alpha。后面的 random()函数是随机选取一个100 以内的数字作为它的透明度。从这个
句子可以看出,“点”语法使用方法就是:实例名.属性(mc._alpha),你甚至可以简单理解为
“点”就是“的”,那么 this._alpha 这句你就可以理解为:影片剪辑 mc的透明度
上面的脚本 mc._alpha = random(100)也可以改为_root. mc._alpha = random(100)
那么,你就可以理解为:舞台上的影片剪辑 mc的透明度是随机选择100内的值。

FLASH脚本基础入门讲解1相关推荐

  1. Solidity基础入门讲解

    Solidity的语言类型: 静态类型的语言:编译前变量类型需要先确定 变量可以分为: 值类型:赋值或者传参时总是进行值拷贝 引用类型:传递的是地址 这里先给出一个总览图: 整型: 和其他语言类型,可 ...

  2. 零基础入门进化算法(GEP)

    零基础入门进化算法 遗传算子 转座算子 重组算子 适应值函数 结语 由于笔者最近在研究有关于基因表达式编程的课题,对进化算法方面有了更为全面的理解,希望能给大家指点迷津.本文主要基于张克俊博士的毕业论 ...

  3. FPGA基础入门【8】开发板外部存储器SPI flash访问

    前两篇教程利用数码管project介绍了chipscope和各种烧写开发板的方式,这篇开始继续探索开发板,这次关注外置存储器的控制,外置指的是芯片外部,不是开发板外部.板子上的外置存储器有DDR2和S ...

  4. 1.TCL/TK脚本学习——入门基础

    1.TCL/TK脚本学习--入门基础 Tcl/Tk有两个主要程序.是 tclsh 和 wish.前者是 Tcl 外壳,常用于为外壳脚本提供执行环境.Wish 类似于 tclsh,它是针对窗口化的 GU ...

  5. Eggjs入门系列-基础全面讲解(完结)

    对上篇文章回顾下,上篇讲到了 服务(Service) 插件 定时任务 框架扩展 启动自定义 应用部署 日志 HttpClient Cookie 与 Session Cookie 通过 ctx.cook ...

  6. Linux基础入门之内外命令讲解篇

    Linux基础入门篇--之内外命令讲解 1.基础命令 命令 使用方法 cat /etc/motd 设置用户成功登录系统后显示的提示信息.比如欢迎语! cat /etc/issue 设置用户成功登录系统 ...

  7. Autojs脚本开发实战第一课 基础入门

    Autojs脚本开发课程 课件代码下载地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed Autojs概述 1.Autojs是什 ...

  8. 视频教程-JSON基础入门实战讲解-JavaScript

    JSON基础入门实战讲解 04年进入计算机行业.拥有6年net和php项目开发经验,8年java项目开发经验. 现前端全栈工程师,主攻产品设计,微信开发等. 黄菊华 ¥39.00 立即订阅 扫码下载「 ...

  9. JSON基础入门实战讲解在线视频课程-JSON 使用 JavaScript 语法

    因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON. 微信小程序交流群:111733917 | 微信小程序从0基础到就业的课程:http ...

最新文章

  1. .NET中的密码学--对称加密
  2. AtCoder AGC001E BBQ Hard (DP、组合计数)
  3. 深度区分LoRa和LoRaWAN的区别
  4. 12.4scrum report
  5. 一篇博客读懂设计模式之---模板方法模式
  6. 马翔:联想双态IT 助力企业IT新变革
  7. sql server windows nt 64bit 占内存解决方法
  8. “女主播翻车”骂声不断,店湾妹感慨:主播界怎么了?三观已毁!
  9. 信创操作系统--麒麟Kylin桌面版 (项目三 控制中心:账户、自定义、个性化、声音、日期、电源管理、网络、输入法、系统更新等设置)
  10. windows桌面待办事项_提醒待办事项app哪个好用?苹果手机上有什么好用的提醒便签软件吗...
  11. Linux守护进程设计规范及python实现
  12. Godot3游戏引擎入门之四:给主角添加动画(上)
  13. 设置电脑wifi和网线同时访问网络
  14. 获取文件后缀名(doc.excel)
  15. i.MX arm 3.12.28 Kernel Configuration
  16. R730 LCD屏提示:PDR1016 drive 7 removed from disk drive bay 1.Check drive.R730 LCD屏提示:PDR1016 drive 7 r
  17. MATLAB中写TXT文件换行的实现
  18. Cookie经典案例—实现显示用户上次服务时间的显示
  19. Python基础知识 2022-11-14 ★ 小结 43-50 字典_集合
  20. 数学和数学家的故事 zz

热门文章

  1. Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题
  2. 解决小程序Input框输入文字后触摸并滚动屏幕不松开,input内文字一起滚动问题
  3. 游戏辅助制作核心--植物大战僵尸逆向之自动捡取阳光(二)
  4. 智慧医院三维可视化决策系统平台(数字孪生)-解决方案开发案例
  5. Using R Language to Plot Diagrams
  6. 「业务架构」EA874:业务架构层
  7. 项目管理:确定目标有哪些作用?
  8. linux spool输出一行 不换行,clob内容spool到文件中后,怎么去掉自动换行
  9. 领英大数据:经济寒冬,“全思维IT工程师”成企业新宠
  10. 圈复杂度详解以及解决圈复杂度常用的方法