语句是on()事件处理函数;指定触发动作的鼠标事件。

  语法格式:

  on (mouseEvent) {

  }

  “()”小括号中的mouseEvent参数是鼠标事件,常用的有以下几种鼠标事件:

  Press   ---当鼠标指针经过按钮时按下鼠标。

  release  ---当鼠标指针经过按钮时按下再释放鼠标按钮。

  releaseOutside ---当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮。

  rollOut     ---鼠标指针滑出按钮区域。

  rollOver  ---鼠标指针滑过按钮。

------------------------------------------------------------------------------------------------

  on (release) {

  _root.shu_mc.stop();

  }

绝对路径:Flash中目标路径有两种,绝对路径和相对路径,我们今天接触的“_root.shu_mc.stop()”是绝对路径,指定了发生stop动作的绝对地址和对象,这个绝对地址就是当前场景_root,对象就是影片剪辑“shu_mc”,即让当前场景“_root”上的实例名为“shu_mc”的影片剪辑对象“stop”停止播放。

  如果我们要执行动作的对象“shu_mc”影片剪辑,没有直接位于主场景上,而是嵌套在另外一个位于主场景的影片剪辑“a”中,甚至是嵌套在更深的级别中呢,那就得一级级指明路径,程序指令才能正确的执行。

  打个比方,我们在闪客起航论坛的首页上,要打开论坛里的“敲开Flash AS之门”这篇教程,就得按照正确的路径一级一级的找到它才能打开,如果我们把URL的路径“/”换成“.”来表示,打开这个教程的路径就是:

  启航论坛首页(_root).Flash技术论坛(mc1).脚本技术区(mc2).敲开Flash AS之门(mc3).打开(动作);

_root绝对路径,即当前,或根目录

点语法“.”:是基于“面向对象”的语法形式,就是利用目标对象本身去管理自己,用“.”语法通知目标对象执行什么指令是非常简洁的语法形式。比如此处,就用了“.”语法通知“_root”上的“shu_mc”“stop”停止播放。

对象的后缀: 在Flash中有各种对象,如按钮、影片剪辑、文本、图形、声音对象等等,在动作脚本中,有对应这些对象的特定后缀,每一种后缀代表一种特定的对象,比如影片剪辑的后缀为“_mc”,文本对象的后缀为“_txt”,在为对象命名时有必要正确的添加后缀,如上面的“shu_mc”,这样不仅使语句更符合规范,在别人解读代码时方便的知道对象的类型,也能够让Flash识别对象的类型,在添加语句时才能有效使用代码提示功能。

on (rollover){
 _root.stop();
}//当鼠标滑过影片剪辑时,停止播放当前时间轴

on (press){
 stop();
}//当鼠标按下时,停止播放剪辑

on (release){
 play();
}//当在影片剪辑上按下并释放鼠标时,播放影片剪辑

on (rollout){
 _root.play();
}//当鼠标滑离影片剪辑时,播放当前时间轴

------------------------------------------------------------------------------------------------

 主场景上的一组蓝色按钮控制的是huan_mc的透明度属性:

  _alpha : 透明度属性,以百分比为单位。

  蓝色减号“-”按钮上的语句:

  on (release) {

  _root.huan_mc._alpha = 50;

  }  //点击按钮时,将场景上的huan_mc影片剪辑透明度设为50

   蓝色加号“+”按钮上的语句:

  on (release) {

  _root.huan_mc._alpha = 100;

  } //点击按钮时,将场景上的huan_mc影片剪辑透明度设为100。

  这一组按钮的语句很简单,直接将一个常量赋值给场景上的huan_mc影片剪辑对象的透明度属性。

  主场景上的一组红色按钮控制的是huan_mc的纵、横向缩放比例属性:

  _xscale 影片剪辑的横向缩放比例,以百分比为单位。

   _yscale 影片剪辑的纵向缩放比例,以百分比为单位。 

  红色加号“+”按钮上的语句:

  on (release) {

  _root.huan_mc._xscale = _root.huan_mc._xscale*1.1;

  _root.huan_mc._yscale = _root.huan_mc._yscale*1.1;

  }

  红色减号“-”按钮上的语句:

  on (release) {

  _root.huan_mc._xscale = _root.huan_mc._xscale*0.9;

  _root.huan_mc._yscale = _root.huan_mc._yscale*0.9;

  }

  这一组按钮上的语句中,属性的取值就不是一个简单的常量了,而是通过两个表达式计算出对象的纵、横向缩放比例,如“_root.huan_mc._xscale*1.1”,计算的结果就是横向缩放比例为场景上的huan_mc横向缩放比例的1.1倍即110%。再将这个结果赋值给表达式左边指定的影片剪辑对象的相应属性,点击一次按钮就会计算一次,由此令该影片剪辑对象按照每一次计算出的比例进行纵、横向等比例缩放。

 下面再来看看主场景上的一组绿色“上”、“下”、“左”、“右”按钮,这一组按钮控制的是位于huan_mc内部的shu_mc的纵、横坐标属性。

  _x 影片剪辑的横坐标属性,单位为像素。

  _y 影片剪辑的纵坐标y 坐标,单位为像素。

  绿色“向上”按钮上的语句:

  on (release) {

  _root.huan_mc.shu_mc._y = _root.huan_mc.shu_mc._y-10;

  }

  当点击鼠标时,即由右边的表达式计算出“shu_mc”的y(纵)坐标位置,然后赋值给shu_mc的纵坐标属性,如shu_mc在场景上的初始x、y位置为(0,0),第一次点击鼠标,shu_mc的位置变为(0,-10),即上移10个像素。每点击一次,上移10个像素。

  其他“向下”、“向左”、“向右”3个按钮同理。

  主场景右下角绿色加号“+”、减号“-”按钮控制的是主场景(_root)的纵、横向等比例缩放,每点击一次减号“-”按钮,主场景按90%的比例缩小,点击加号“+”按钮,比例还原到100%。

  从相对路径控制影片剪辑属性:

  以上所述,主场景上的按钮都是以绝对路径的方式控制各级影片剪辑的相关属性。绝对路径在前面的内容里已经学习过。下面我们再来看看位于“shu_mc”影片剪辑内部的按钮是如何控制影片剪辑属性的。

  分别点击两个红色按钮,可以调整huan_mc影片剪辑的纵、横向等比例缩放,分别点击两个绿色按钮,可以控制主场景的纵、横向等比例缩放,与主场景上相应按钮的控制效果相同,但是,它们路径的指向却有所不同。

  红色加号“+”按钮上的语句:

 on (release) {

  this._parent._xscale = this._parent._xscale*1.1;

  this._parent._yscale = this._parent._yscale*1.1;

  }

  红色减号“+”按钮上的语句:

  on (release) {

  this._parent._xscale = this._parent._xscale*0.9;

  this._parent._yscale = this._parent._yscale*0.9;

  }

  与主场景上红色按钮的语句不同之处是,路径不一样,前者使用标识符“_root”指定绝对路径,而这里是以标识符“this”和“_parent”指定相对路径,这是我们这一节要掌握的又一个知识点。

  this 当将其附加到按钮的 on 事件动作中时,它指向的是包含该按钮的影片剪辑的时间轴。

  _parent 当将其附加到按钮的 on 事件动作中时,它指向的是包含该按钮的影片剪辑时间轴的上一级时间轴,即父时间轴。

  比如红色按钮上的“this._parent”,this指向的就是包含了按钮的“shu_mc”影片剪辑的时间轴,“_parent”指向的是包含了按钮的“shu_mc”影片剪辑的上一级影片剪辑的时间轴,即“huan_mc”影片剪辑时间轴。

  所以,当点击位于“shu_mc”中的红色按钮时,它控制的是“huan_mc”的纵、横向等比例缩放属性。

  再看位于“shu_mc”中的绿色按钮上的语句:

  绿色减号“-”按钮上的语句:

  on (release) {

  this._parent._parent._xscale = this._parent._parent._xscale*0.9;

  this._parent._parent._yscale = this._parent._parent._yscale*0.9;

  }

  绿色加号“+”按钮上的语句:

on (release) {

  this._parent._parent._xscale = 100;

  this._parent._parent._yscale = 100;

  }

  这里,又多了一级“_parent”,按照上面的路径分析,“_parent._parent”指向的就应该是包含了按钮的“shu_mc”影片剪辑的上一级“huan_mc”影片剪辑的上一级时间轴,即主场景“_root”的时间轴。

  所以,当点击按钮时,控制的是主场景时间轴的等比例缩放。

以shu_mc里嵌套的按钮为例,我们把绿色减号“-”按钮上控制主场景横向缩放比例的语句改成绝对路径方式:

   this._parent._parent._yscale 可以写成 _root._yscale

  在熟悉了路径概念,并能加以灵活应用之后,语句是可以加以简化的,比如:

  _root.huan_mc._alpha = 100; 可以写成 huan_mc._alpha = 100;

  this._parent._parent._yscale = 100; 可以写成 _parent._parent._yscale = 100;

  路径的概念非常重要,在添加动作时,如果路径的指向不正确,就实现不了预期的效果,甚至会引起程序出错。

转载于:https://www.cnblogs.com/JamyWong/archive/2010/05/31/1748065.html

flash 语法 入门相关推荐

  1. python中的常量是指_python入门教程04-01(python语法入门之变量)

    上一课我们学习了编程语言与python介绍,我们接下来的任务就是学习python语法入门的课程了. 本章的主题是先带大家了解下语法入门介绍,然后重点介绍python变量. 一 引入 我们学习pytho ...

  2. C++ C++基础语法入门总结(二)引用-内联函数-C++11新特性

    C++基础语法入门总结 C++引用 再谈引用和指针 C++内联函数 附加C++11新特性 auto关键字 基于范围的for循环 指针空值nullptr C++引用 引用:就是某一变量(目标)的一个别名 ...

  3. C++ C++基础语法入门总结(一)命名空间-输入输出-缺省参数-函数重载

    C++基础语法入门总结 C++ 命名空间 如何定义和使用命名空间 C++ 输入与输出 C++ 缺省参数 C++函数重载 名字修饰 extern "c" 推荐阅读 C++ 命名空间 ...

  4. [独孤九剑]持续集成实践(二)– MSBuild语法入门

    本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...

  5. Verilog 语法入门知识

    Verilog 语法入门知识 一.变量类型 ①数值 数值表示采用 <二进制位数>'<数值表示的进制><数值>的结构. 其中进制可以为b.o.d.h分别代表二.八.十 ...

  6. Python基础语法入门篇(一)

    Python基础语法入门篇(二) 1. 注释 在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己 或者其他编码人员解读代码. 注释是给程序员看的,为了 ...

  7. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

  8. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  9. Lingo学习笔记(一)——语法入门

    lingo语法入门 lingo常用文件格式 LINGO Solver Status窗口要素详解 窗口右侧内容介绍 窗口左上角内容介绍 窗口左下角内容介绍 Lingo的基本用法注意事项 Lingo模型建 ...

最新文章

  1. docker(4)docker的网络,自定义网桥
  2. 【AI参赛经验】汉字书法识别比赛经验心得——by:microfat_htu
  3. java 获取泛型_Java泛型 | Jackson TypeReference获取泛型类型信息
  4. 如果孩子想学编程,你会推荐哪个? | 每日趣闻
  5. python3.8新特性 逻辑表达式_python 3.8 新特性
  6. ubuntu14.0.4下安装pycharm
  7. 转-SpringBoot——使用外置的Tomcat服务器
  8. python学习之路day02
  9. Spring MVC学习总结(8)——Swagger入门详解
  10. 美国邮轮旅行社Cruise Travel Outlet接受加密货币支付
  11. 【转】如何使用瑞萨E10A调试SH系列不带片内FLASH的单片机
  12. python出行轨迹记录_Python中的自动路径绘制,python,轨迹
  13. 快速将多个excel表合并成一个excel表---内附代码
  14. 使用opencv人脸识别对比两张人脸图片
  15. python播放全网视频+打包成exe
  16. python识别字符串码置_python 字符串内置方法整理
  17. 如何用ipad控制多台电脑主机
  18. 80年代的Mac好用吗?
  19. vue3安装vuex报错: Could not resolve dependency npm ERR peer vue@“^2.0.0“ from vuex@3.6.2
  20. 2021年五一建模B赛题+思路

热门文章

  1. AttributeError: ‘pyltp.Postagger‘ object has no attribute ‘load‘
  2. Zookeeper已经设置了myid文件但是依然报错myid file is missing
  3. ValueError: Related model 'users.UserProfile' cannot be resolved
  4. vue-cli的初步使用
  5. 3分钟搞懂LSI原理
  6. pickle与cpickle的用法
  7. 5.8 正则化和数据标准化
  8. 计算机辅助诊断系统的应用,AI医疗影像辅助诊断系统
  9. 安装oracle后,电脑变卡变慢的解决办法
  10. 恶意软件“EXPENSIVEWALL”感染数百万台安卓设备