




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
flash中定义全局变量。在第一帧定义的变量,经过赋值后,能在第二帧中获得该变量的值。首先你的源文件要是AS2文档,才能用_global然后写法如下:_global.d=0;这样在后面每次用的时候都要:_global.d这样写,不能只写d一个影片剪辑,场景1 有50帧,播放的时候是场景1不播放,直接播放场景2的,怎么获得场景2 的当前帧是多少怎么让场景1不播放呢 ,我是在场景1 第一帧写gotoAndPlay(场景 2,1),场景1不播放,直接跳到场景2,但是 这样场景2的帧数还是在场景1的基础上加的,1楼的,怎么让场景1不播放直接 播放场景2 ,然后场景2帧数是从1开始的你说的不具体,我只能告诉你,如场景1有30帧,场景2有40帧,那播放完场景1开始播放场景2,你知道不知道播放场景2时候,帧数是重新从1开始数呢,还是接场景1的帧数继续数?当然是接着场景1的帧数继续数,也就是说这个两个场景的动画是70帧。当前帧从1到70,不会是1-30,然后1-40。但是如果场景1不播放,场景2会从40帧开始数吗?当然不会,还是从1-40数。-=onEnterFrame = function () trace(_currentframe);就是在Flash中通过变量直接控制播放而不用鼠标点击就可以播放,也就是说变量给多少帧他就在多少帧。/定时检测变量gotoFrameAutovargotoFrameAuto:int=1;varchekgo:Timer=newTimer(1000,0);chekgo.addEventListener(TimerEvent.TIMER,chekFrames);internalfunctionchekFrames(e:TimerEvent):voidgotoAndPlay(gotoFrameAuto);chekgo.start();我想在场景中定义一个变量,在子MC中来改变这个变量的值,应该怎么定义啊不知道你是否是用类文件写的程序,如果是,那么定义在类中的成员变量就都是全局变量(不是定义在其中某个方法中,而是定义在文档类中的)。但是一般做个游戏什么的,都用一个类专门管理全局变量,里面的变量用静态变量,即static关键字的,你可以查询一下静态变量这个概念。就在场景里var i:int = 0;元件里调用:Object(root).i = 1;trace(i)场景中定义 var a=1;元件中获取修改:MovieClip(root).a=2;/直接root不可以,容易错误获取元件中的变量:MovieClip(root).mc.a=1;/或者this.mc.a=1,或者mc.a=1,在主时间线上声明的都是全局变量,最好在第一帧中声明。var id:uint=1在主时间线上直接调用。在其它元素中(也就是其它时间线上)调用:var who:uint =MovieClip(root).idAS3.0包与类的创建和引用详解前提:如果有任何一门程序语言(哪怕不是面对对象的编程语言)的基础,就可以更加轻松的理解ActionScript 3.0语言规则。一 概念实质包(package)实质上是一个文件夹,包(文件夹)内可以包含多级文件夹(包)。例如:MyLib包下有一个Tools文件夹, 则Tools文件夹就是 MyLib 的子包,引用格式为 MyLib.Tools类(class)一个单独的as文件,类是用来描述一个对象(面对对象的编程模式)的,Adobe建议每个类就是一个单独的文件,文件名就是类名。例如:car.as 就是一个 car类。例如:MyLib包下有一个car类,引用car类的格式为MyLib.car如果还有个类 fly.as 在 Tools 包(文件夹)下,则引用格式为MyLib.Tools.fly二 创建方法包:包的实质是文件夹,所以直接在 *.fla 文件所在的目录创建 以包命名的文件夹即可。例如想建立一个名为 MyLib 的包,就新建文件夹,然后将文件夹重命名为 MyLib 即可。子包:如果 MyLib 包内仍然需要对as文件有所区别的话,可以继续建立包,即建立子文件夹。例如想在 MyLib 包内建立一个 Tools 包,则在MyLib文件夹内建立新文件夹, 重命名为 Tools 即可。类:类即 *.as 文件, 可单独创建, 也可以创建在包内。 例如想创建一个 描述汽车(car)的类,只需要建立一个 car.as 文件即可。三类的写法因为包的实质是文件夹,所以建立文件夹,就建立了包。1) 不在任何包下如果一个类(假设类文件名为 bike.as )不在任何包下,那么就无需声明任何包或类标记,因为在编译的时候会自动为该文件创建类实例。用户只需要在该文件下直接定义或写方法即可,例如:var word:String = I am bike;function Say():Stringreturn word;注意:不要在方法或变量前加 public 修饰符(否则编译器错误:1114: public 属性只能在包的内部使用。),因为 bike 类不在任何包(文件夹)内, 类内的所有方法和变量都默认就是 public(公开的)。2) 在顶级包内如果一个类(假设类文件名为 car.as)在 包 MyLib 下,那么就需要定义一个包标记,格式如下:packageMyLib/ 声明包,表示该类是在 MyLib 包下定义的public class car / 前面要声明该类为 public(公开的), 否则在包外无法被调用private var word:String = I am a car;public function Say():String return word;3) 在一个子包内如果一个类(假设类文件名为 fly.as),格式如下:packageMyLib.Tools/ 声明包,表示该类是在 MyLib/Tools/ 路径下定义的public class fly private static var word:String = I am fly;public static function Say():String return word;注意:如果包的层级越多,那在package 声明的级别也就应该越具体。四用法1) 包包(假设名为:MyLib)包含了一个或多个类文件(*.as),在fla文件中,必须先导入(import)包才可以使用,包的位置必须要和 *.fla 文件在同一个文件夹内(否则编译器错误:1172: 找不到定义 MyLib)。导入代码为:import MyLib.*;导入子包代码为:import MyLib.Tools.*;假设在 MyLib 包内有两个类,分别为 car.as 和 jeep.as,如果只想使用 car类,那么导入代码为:import MyLib.car;假设只想使用子包 Tools 内的 fly 类,那么导入子包代码为:import MyLib.Tools.fly;2) 类如果类(假设名为:bike.as )不在任何包下,那么引用代码为:include bike.as;P.S.as类文件在哪个地方就写哪个路径。例如有一个类文件(ship.as )在 D盘下,那么引用代码为:inclide d:/ship.as;如果类(假设名为:car.as)在包 MyLib 下,那么不用使用 include 声明,直接导入包即可。例如,要创建 car 的实例代码如下:import MyLib.*;var c:car = new car();trace( c.Say() );搞清楚包和类的关系后,就可以灵活的把 as 代码写在 *.fla 文件外部了。AS3.0中的数据类型Boolean 数据类型Boolean 数据类型包含两个值:true 和 false。对于 Boolean 类型的变量,其它任何值都是无效的。已经声明但尚未初始化的布尔变量的默认值是 false。int 数据类型int 数据类型在内部存储为 32 位整数,它包含一组介于 -2,147,483,648 (-231) 和 2,147,483,647 (231 1) 之间的整数(包括 -2,147,483,648 和 2,147,483,647)。早期的 ActionScript 版本仅提供 Number 数据类型,该数据类型既可用于整数又可用于浮点数。在 ActionScript 3.0 中,现在可以访问 32 位带符号整数和无符号整数的低位机器类型。如果您的变量将不会使用浮点数,那么,使用 int 数据类型来代替 Number 数据类型应会更快更高效。对于小于 int 的最小值或大于 int 的最大值的整数值,应使用 Number 数据类型。Number 数据类型可以处理 -9,007,199,254,740,992 和 9,007,199,254,740,992(53 位整数值)之间的值。int 数据类型的变量的默认值是 0。Null 数据类型Null 数据类型仅包含一个值:null。这是 String 数据类型和用来定义复杂数据类型的所有类(包括 Object 类)的默认值。其它基元数据类型(如 Boolean、Number、int 和 uint)均不包含 null 值。如果您尝试向 Boolean、Number、int 或 uint 类型的变量赋予 null,则 Flash Player 会将 null 值转换为相应的默认值。不能将 Null 数据类型用作类型注释。Number 数据类型在 ActionScript 3.0 中,Number 数据类型可以表示整数、无符号整数和浮点数。但是,为了尽可能提高性能,应将 Number 数据类型仅用于浮点数,或者用于 int 和 uint 类型可以存储的、大于 32 位的整数值。要存储浮点数,数字中应包括一个小数点。如果您省略了小数点,数字将存储为整数。Number 数据类型使用由 IEEE 二进制浮点算术标准 (IEEE-754) 指定的 64 位双精度格式。此标准规定如何使用 64 个可用位来存储浮点数。其中的 1 位用来指定数字是正数还是负数。11 位用于指数,它以二进制的形式存储。其余的 52 位用于存储”有效位数”(又称为”尾数”),有效位数是 2 的 N 次幂,N 即前面所提到的指数。可以将 Number 数据类型的所有位都用于有效位数,也可以将 Number 数据类型的某些位用于存储指数,后者可存储的浮点数比前者大得多。例如,如果 Number 数据类型使用全部 64 位来存储有效位数,则它可以存储的最大数字为 265 1。如果使用其中的 11 位来存储指数,则 Number 数据类型可以存储的最大有效数字为 21023。Number 类型可以表示的最小值和最大值存储在 Number 类的名为 Number.MAX_VALUE和 Number.MIN_VALUE 的静态属性中。Number.MAX_VALUE = 1.79769313486231e+308Number.MIN_VALUE = 4.940656458412467e-324尽管这个数字范围很大,但代价是此范围的精度有所降低。Number 数据类型使用 52 位来存储有效位数,因此,那些要求用 52 位以上的位数才能精确表示的数字(如分数 1/3)将只是近似值。如果应用程序要求小数达到绝对精度,则需要使用实现小数浮点算术(而非二进制浮点算术)的软件。如果用 Number 数据类型来存储整数值,则仅使用 52 位有效位数。Number 数据类型使用 52 位和一个特殊的隐藏位来表示介于 -9,007,199,254,740,992 (-253) 和 9,007,199,254,740,992 (253) 之间的整数。Flash Player 不但将 NaN 值用作 Number 类型的变量的默认值,而且还将其用作应返回数字、却没有返回数字的任何运算的结果。例如,如果您尝试计算负数的平方根,结果将是 NaN。其它特殊的 Number 值包括”正无穷大”和”负无穷大”。注意在被 0 除时,如果被除数也是 0,则结果只有一个,那就是 NaN。在被 0 除时,如果被除数是正数,则结果为正无穷大;如果被除数是负数,则结果为负无穷大。String 数据类型String 数据类型表示一个 16 位字符的序列。字符串在内部存储为 Unicode 字符,并使用 UTF-16 格式。字符串是不可改变的值,就像在 Java 编程语言中一样。对字符串值执行运算会返回字符串的一个新实例。用 String 数据类型声明的变量的默认值是 null。虽然 null 值与空字符串 (”) 均表示没有任何字符,但二者并不相同。uint 数据类型uint 数据类型在内部存储为 32 位无符号整数,它包含一组介于 0 和 4,294,967,295 (232- 1) 之间的整数(包括 0 和 4,294,967,295)。uint 数据类型可用于要求非负整数的特殊情形。例如,必须使用 uint 数据类型来表示像素颜色值,因为 int 数据类型有一个内部符号位,该符号位并不适合处理颜色值。对于大于uint 的最大值的整数值,应使用 Number 数据类型,该数据类型可以处理 53 位整数值。uint 数据类型的变量的默认值是 0。void 数据类型void 数据类型仅包含一个值:undefined。在早期的 ActionScript 版本中,undefined 是 Object 类实例的默认值。在 ActionScript 3.0 中,Object 实例的默认值是 null。如果您尝试将值 undefined 赋予 Object 类的实例,Flash Player 会将该值转换为 null。您只能为无类型变量赋予 undefined 这一值。无类型变量是指缺乏类型注释或者使用星号 (*) 作为类型注释的变量。只能将 void 用作返回类型注释。Object 数据类型Object 数据类型是由 Object 类定义的。Object 类用作 ActionScript 中的所有类定义的基类。ActionScript 3.0 中的 Object 数据类型与早期版本中的 Object 数据类型存在以下三方面的区别:第一,Object 数据类型不再是指定给没有类型注释的变量的默认数据类型。第二,Object 数据类型不再包括 undefined 这一值,该值以前是 Object 实例的默认值。第三,在 ActionScript 3.0 中,Object 类实例的默认值是 null。在早期的 ActionScript 版本中,会自动为没有类型注释的变量赋予 Object 数据类型。ActionScript 3.0 现在包括真正无类型变量这一概念,因此不再为没有类型注释的变量赋予 Object 数据类型。没有类型注释的变量现在被视为无类型变量。如果您希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号 (*) 表示类型注释,这与省略类型注释等效。下面的示例显示两条等效的语句,两者都声明一个无类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级月嫂基础知识培训
- 2.2.4细胞-生命活动的基本单位 分层练习(有答案) 高一生物学苏教版必修一
- 高空坠落现场处理课件
- 北京幼师考试笔试真题及答案
- 北京初三政治中考试卷及答案
- 电焊工常规知识培训课件
- 6-Benzylaminopurine-suitable-for-plant-cell-culture-生命科学试剂-MCE
- 高温消防知识培训方案课件
- 保定高一期末考试试题及答案
- 高校地理考试题及答案
- 中公协议班协议书照模板
- 2025年叉车操作证考试题库及答案
- (2025秋新版)苏教版小学数学二年级上册全册教案
- 市妇幼保健院关于调整实验室生物安全管理委员会的通知
- 亚麻籽油在化妆品配方的应用研究
- 2025年空分设备行业研究报告及未来发展趋势预测
- 幼师面试精 选题目及答案解析
- 企业营销自动化平台开发及应用研究
- 通信技术对生活方式的改变
- 医院招聘面试题目及参考答案
- 神经外科护士进修汇报:专业提升与实践应用
评论
0/150
提交评论