|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
当前位置:flash课件吧→flash文本教程(新页面 新改版 新气象) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
动作脚本中的数据类型
数据类型描述变量或动作脚本元素可以包含的信息的种类。Flash中内置了两种数据类型:原始数据类型和引用数据类型。原始数据类型是指字符串、数字和布尔值,它们都有一个常数值,因此可以包含它们所代表的元素的实际值。引用数据类型是指影片剪辑和对象,它们的值可能发生更改,因此它们包含对该元素的实际值的引用。包含原始数据类型的变量与包含引用类型的变量在某些情况下的行为是不同的。还有两类特殊的数据类型:空值和未定义。 在Flash中,任何不属于原始数据类型或影片剪辑数据类型的内置对象(如Array或Math)均属于对象数据类型。
字符串 字符串是诸如字母、数字和标点符号等组成的序列。在动作脚本语句中输入字符串的方式是将其放在单引号或双引号之间。字符串被当作字符而不是变量进行处理。例如,在下面的语句中,“L7”是一个字符串: favoriteBand =“L7”; 可以使用加法(+)运算符连接或合并两个字符串。动作脚本将字符串前面或后面的空格作为该字符串的文本部分。在下面的表达式中,逗号后有一个空格: Greeting=“Welcome,”+firstName; 若要在字符串中包含引号,应在它前面放置一个反斜杠字符(/)。这就是所谓的将字符转义。在动作脚本中,还有一些只能用特殊的转义序列才能表示的字符。表1-1提供了所有动作脚本转义符。
表1-1? 动作脚本转义符
数字 数字数据类型是双精度浮点数,用户可以使用加(+)、减(-)、乘(*)、除(/)、求模( %)、递增(++)和递减(- -)等算术运算符来处理数字,也可使用内置的Math和Number类的方法来处理数字。下面的示例使用sqrt()(平方根)方法返回数字100的平方根: Math.sqrt(100);
布尔值? 在动作脚本中,布尔值经常与逻辑运算符或比较运算符一起使用,以控制程序流程。例如,在下面的脚本中,如果变量password为true,则会播放该SWF文件。 onClipEvent(enterFrame){ if(userName==true&&password==true){ play(); } }
对象 对象是属性的集合,每个属性都有名称和值,属性值可以是任何的Flash数据类型,甚至可以是对象数据类型,从而使对象相互包含(即将其嵌套)。要指定对象及其属性,可以使用点(.)运算符。例如,在下面的代码中,hoursWorked是weeklyStats的属性,而后者是employee的属性: Employee.weeklyStats.hoursWorked 可以使用内置动作脚本对象来访问和处理特定种类的信息。例如,Math对象具有一些方法,这些方法可以对传递给它们的数字运算,如下所示。 //计算100的平方 squreRoot=Math.sqrt(100);
影片剪辑 影片剪辑是Flash应用程序中可以播放动画的元件,它是惟一引用图形元素的数据类型。MovieClip数据类型允许用户使用MovieClip类的方法控制影片剪辑元件。可以使用点(.)运算符调用这些方法,如下所示。 //播放影片剪辑 mcImstanceName.play(); //切换到下一帧 Mc2InstanceName.nextFrame(); //允许拖动影片剪辑 My-mc.startDrag(true);
Null 空值数据类型只有一个值,即null。此值意味着“没有值”,即缺少数据。Mull值可以用在各种情况中。下面是一些应用例子。
指定数据类型 Flash自动为以下类型的语言元素指定数据类型。
不过,也可以显示为项目指定数据类型,这有助于防止或诊断脚本中的某些错误。 (1)自动数据类型指定 在Flash中,不必将项目明确地定义为包含数字、字符串或其它数据类型。Flash将在指定项目时确定其数据类型。例如,在表达式var=3中,Flash会评估运算符右侧的元素,然后确定它的数据类型为数字;又如,语句x=“hello”会将x的类型更改为字符串。尚未赋值的变量的类型为undefined。 动作脚本会在表达式需要时自动转换数据类型。例如,当向trance()动作传递值时,trance()会自动将该值转换为字符串,并将其发送到“输出”面板。在带有运算符的表达式中,动作脚本会根据需要转换数据类型。例如,当用于字符串时,“+”运算符需要另一个操作数也是字答串: “Next in line,number”+7 动作脚本会将数字1转换为字符串“7”并将它添加到第一个字符串的结尾,从而产生下面的字符串: “Next in line,number7” (2) 严格数据类型指定 动作脚本2.0允许在创建时声明其对象类型,这称作严格数据类型指定。因为数据类型不匹配会引起编译器出错,所以严格数据类型指定有助于避免为现有变量指定错误的数据类型。若要为某个项目指定特定的数据类型,可使用var关键字和后冒号语法指定其类型: //严格指定变量或其对象的类型 var x:Number=7; var birthday:Date=new Date(); //参数的严格类型指定 Function welcome(firstName:String,age:Number){ } //参数和返回值的严格类型指定 Function square(x:Number):Number { Var squared=x*x; Return squred; 【专家指点】 由于在严格指定变量的数据类型时必须使用var关键字,因此不能严格指定全局变量的类型。 可以根据内置类(Button、 Date、 MovieClip等)以及自定义类和接口来声明对象的数据类型。例如,如果在一个名为Student.as的文件中定义了Student类,则可以指定创建的对象属于类型Student: Var student:Student=new Student(); 此外,也可以指定对象属于类型Function或Void. 使用严格类型指定有助于确保用户不会因为疏忽而为对象指定错误的值类型。Flash将在编译时检查类型指定不匹配错误。例如,假设键入以下代码: //在Student.as类文件中 Class Student{ Var status:Boolean;// Student对象的属性 } //在脚本中 Var studentMaryLago:Student=new Student(); studentMaryLago:.staus=“enrolled”; 当 Flash编译此脚步本时,将生成“类型不匹配”错误。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|