《ActionScript3互动编程第一讲知识课件》由会员分享,可在线阅读,更多相关《ActionScript3互动编程第一讲知识课件(50页珍藏版)》请在金锄头文库上搜索。
1、ActionScript 3 互动编程,第一讲 语言基础,AS语言简介,AS的前身出现于flash player 4.0中,用于控制flash 内容,并进行简单的交互性脚本的编写。随着flash player 5的产生,越来越多的语法和语义被纳入到当时AS1.0的API中,直到后来的flash7仍然延续着AS1的核心解释机制。 。,AS3,与1、2有着本质的区别,他是一门基于AVM2(ActionScript 3.0虚拟机)运行环境的具备标准OOP语言素质的编程语言。他是flash player发展的重要里程碑。他是建立RIA(丰富互联网程序)的理想语言。AS3一经推出,毫无疑问的已经成为下一
2、代互联网应用程序编程语言的主流。,ActionScript 3.0特色 代码执行效率比原来快10倍。 编程方式更规范,核心类划分更加合理,细致。 强大的事件流机制,使得flash中一切显示对象都可以发送事件和接受事件。 引入显示列表概念,使深度管理更加方便和随心所欲。这是flash的重大改变。显示架构彻底改变。,AS3.0的编写环境 AS 3.0(以下简称AS,除非特别声明,以后课堂提及的均是3.0版本)的代码编写有两种选择: 在外面写成单独的AS类文件再和flash中的库元件进行绑定。或者直接和flash文件做绑定 直接在关键桢上编写代码。 (这里要特别指出:flash CS3,CS4不再允
3、许往按钮上、影片剪辑上附加事件代码。),在关键帧上附加代码的举例: trace(“你好”) (trace是最常用的函数之一,他的功能是将括号里的内容输出到输出面板) 在外部AS中编写举例: 1、新建flash,存为test.fla新建AS文件存为Test.as把两个文件放在同一个文件夹中。打开Test.as输入以下代码:,package import flash.display.MovieClip; public class Test extends MovieClip public function Test() trace(“你好”) ,AS语言基本元素,关于数据类型和对象 数据 是一切编
4、程的基础,编程就是把所有看似没有联系的元素按照我们想要的逻辑关系组织起来、以达到我们想要的目的的一种行为。这些元素就是数据。 数据类型 我们所提及的元素flash给它做出了严格的类型划分,比如数组、数字、字符串、布尔、影片剪辑、精灵、按钮、位图等等,从大的类型上说AS分为基元数据类型和复杂数据类型: 基元数据类型:Boolean、int、uint、Number、String Boolean 真和假,主要用于条件判断 int 处理整数 uint 处理很大的正整数 Number 处理带有小数点的数字 String 处理字符串。,复杂数据类型 相对于基元数据类型而言,简单的复杂数据类型其构成是由基元
5、数据类型构成的,稍微复杂点的数据类型其构成元素本身就是复杂数据类型,更高一级的复杂数据类型,本身能够处理一些事情,比如我们自定义的类、影片剪辑等等。,对象 那么什么是对象呢?一句话就可以概括:“在flash中,一切都是对象.”那就意味着flash的所有数据类型都是对象。 对象可以拥有自身的属性(变量)和方法(函数),变量的声明和使用: 变量的理解 对变量的理解程度从某种程度上决定了你能不能跨入编程的大门! 变量好比遥控器,指向我们要操作的数据。对变量的操作,变量指向的数据就会发生变化。 变量必须先声明再使用,不然就会报错。就好比你首先要造一个遥控器再给它起个名字,我们才能通过这个遥控器的名字对
6、数据进行操作。,声明变量,var 变量名: 类型; var 变量名:类型=值,var 是一个关键字,用来声明变量。冒号后面是指定数据类型,如果赋值,值的类型要和变量类型一致,否则,报错。 就像一个遥控器的类型是操纵TCL电视的,你却拿来一台松下电视,让他遥控,结果怎样? AS允许声明变量不赋初始值,系统会根据变量类型给出默认值;,变量默认值,var a:int,b:uint,c:Number,d:String,e:Boolean,f:Array; var g:Object,h, i:*; trace(a)/0 trace(b)/0 trace(c) /NaN (Not a Number 不是一
7、个数字 的缩写) trace(d)/null trace(e)/false trace(f)/null trace(g)/null trace(h)/undefined trace(i)/undefined,变量命名规则 变量命名看似简单却相当重要,掌握行业内的约定俗成规则不仅仅是让代码符合语法更重要的是增强代码的可读性,让自己看明白的同时也要让别人读得明白。,变量命名规则 符合语法 系统保留字不可以用作变两名,包括系统的API接口名,也就是所有蓝色字都不可以用作变量名,不然系统会报错。 变量名不可以使用数字作为变量名的开头字符如:var 0a ; 就是错误的。 系统支持中文做变量名,但尽量不
8、要用中文做变量名,不符合行业习惯。一旦使用,别人觉得你会很可怕。,变量命名规则 符合行业习惯 尽量使用有含义的英文单词做变量名(当然,不懂英文我们可以用汉语拼音) 采用骆驼命名法,意思是说第一个单词全部小写,第二个单词的开头字母用大写,第三个开头字母也是大写中间无空格。比如:var myFirstVar 含义是“我的第一个变量”是单词:“my” “first” “var” 的单词组合。 变量名越短越好,用最短的变量名表达最准确的含义 尽量少用数字编号,除非逻辑上必须使用编号 比如: mc1,mc2,mc3等;,变量本质和深层次探讨 申明变量的本质 值类型变量,var jony:Array=ne
9、w Array(1,2,3),var a:uint=1 var b:uint=a b=2 trace(a)/1 trace(b)/2,var a:Array=new Array(1,2,3) var b:Array=a b2=8 trace(a)/1,2,8 trace(b)/1,2,8,变量本质和深层次探讨 引用类型变量,const a:uint=28,申明常量 const 试图改变常量的值,编译器就会报错 对于值类型常量持有的是值,对于引用类型常量持有的是引用.,const a:uint=28 a=17/报错!,const a:Array=1,3,4 var b:Array=a b1=10
10、0 trace(a) /1,100,4,注意: 常量可以保证持有的引用不发生变化但并不保证引用的目标对象本身不发生变化:,const a:uint=28,申明常量 const 试图改变常量的值,编译器就会报错 对于值类型常量持有的是值,对于引用类型常量持有的是引用.,const a:uint=28 a=17/报错!,基本数据类型,基本数据类型 包括所有基元数据类型和两个复杂数据类型(数组和对象) Boolean类型 布尔型含有两个值:true 和false 未申明初始值默认值为false 用于条件判断 数字类型(Int Uint Number),基本数据类型 数字类型(Int Uint Num
11、ber) Int 32位整型数 范围在-21474836482147483647之间 Uint 32位非负整数 范围在04294967295之间 Number 64位浮点数 范围在 1.79769313486231e+308 到4.940656458412467e-324之间 (e+308)是科学计数法意思是乘以10的正308次方,基本数据类型 数字类型(Int Uint Number) 数字类型使用场合: 处理整数优先考虑Int或Uint 处理有负号的整数用Int 处理无号整数优先考虑Uint,整数处理涉及除法改用 Number.处理色彩使用Uint.其他情况一律使用 Number,基本数据
12、类型 数字类型(Int Uint Number) 整数型边界的例子: 1、,var a:uint=0 a=a-1 trace(a)/ 4294967295,2、,var a:int= 2147483647 a=a+1 trace(a)/ -2147483648,基本数据类型 字符串类型(String) 声明字符串:,var a:String ; /声明一个字符串变量,此时未定义,默认为null var a:String=“开心网”;/声明一个字符串变量并赋值 var a:String=new String(“开心网”);/等同上例 var a:String=new String();/用字符串
13、类包装声明结果等同下例 var a:String=“”/声明一个空字符串,等同上例 var a:String=开心网;/也可用单引号声明字符串,字符串长度: 字符串由字符组成,可以包括所有字符包括中文和空格等,一个字符串包括的字符总数称为字符串的长度,在AS中保存在字符串变量的length属性中,基本数据类型 字符串类型(String),var a:String=“中华人民共和国,万岁!”; trace(a.length)/11,字符串长度: 字符串由字符组成,可以包括所有字符包括中文和空格等,一个字符串包括的字符总数称为字符串的长度,在AS中保存在字符串变量的length属性中,基本数据类型
14、 字符串类型(String),特殊字符 在字符串中,除了空格还有一些看不见的字符,其中包括换行符(n)、回车符(r)、制表符(t)转义符()等。,基本数据类型 数组类型(Array) 一组数据的集合称之为数组,在AS中数组包括稀疏数组和关联数组。我们先来看稀疏数组。 稀疏数组不关心存入其中的元素是不是同一类型,数组中的对象可以是任何数据类型。定义数组的格式如下:,var myArray:Array;/声明一个数组,未定义初始值,默认为null var myArray:Array=new Array();/声明一个数组,定义初始值输出为空白,但不是null var myArray:Array=
15、;/等同上例 var myArray:Array=new Array(1,2,3);/声明一个数组,定义初始值 var myArray:Array= 1,2,3;/等同上例 var myArray:Array= new Array(6);/定义一个长度为6的数组,此时每个元素为空,基本数据类型 数组类型(Array) 访问数组中的元素: 在已知元素位置的情况下就可以用中括号访问数组元素,var myArray:Array=2,3,4,2,6,3,9; trace(myArray3) ; / 2,基本数据类型 数组类型(Array) 关联数组 先看案例:,var myArray:Object=n
16、ew Object(); myArray“names”=“张凝”;/用数组访问法访问键值可以绕过编译器检查 myArray“age”=34; myArray.names=“皇帝”;/属性访问方法修改键值 trace(myArray“age”);/数组访问法访问键值 trace(myArray.age);/属性访问法访问键值,在上例中,我们创建了一个关联数组对象myArray,在该对象中有两个元素 name 和age 对应着分别的值。像name 、age等我们称之为“键”,它的值我们称之为“键值”.,基本数据类型 数组类型(Array) 多维数组,var myArray:Array=1,2,4,2,4,7,6,4,2 trace(myArray1); /2,4,7 trace(myArray20); / 6,运算符,表达式,运算符定义 表示数据采用何种方式运算的符号称之为运算符.,4+3 a=b,表达式定义 包含运算操作对象和运算符的语句称为