您现在的位置: 365建站网 > 365文章 > Flash.ActionScript3.殿堂之路 笔记 1 [ActionScript3 Base]

Flash.ActionScript3.殿堂之路 笔记 1 [ActionScript3 Base]

文章来源:365jz.com     点击数:552    更新时间:2009-10-26 09:28   参与评论

ActionScript3 程序的编译流程


ActionScript3 代码将被编译器编译成 Flash Player 运行时可以理解的 ActionScript  bytecode(字节码)

简称 ABC 文件 但是 ABC 文件不可以单独运行 必须放入到 SWF(.swf)文件中才可以被 FLash PLayer 执

第一个 AS3 文档类 HelloWorld
//新建 flash 文件
//新建类文件 HelloWorld
//在 flash 中属性面板绑定 HelloWorld 类
//Ctrl+Enter 测试影片
//HelloWorld 类文件
package{
//每个类中必须定义包
import flash.display.Sprite;
public class HelloWorld extends Sprite{
//每个类都继承自MovieClip类或Sprite类
//类名必须和文件名一致
public function HelloWorld(){
//public function HelloWorld():void{
trace("HelloWorld!");
}
}
}

ActionScript 3 是面向对象的语言 (Object-oriented Language)

[ ActionScript3 语言基本元素 ]-----------------------------------------------------


一切都是对象(Everythings is an Object) ActionScript3 中所有的数据都是对象
ActionScript3 中所有类都是 Object 类的子类和子类的衍生类
数据类型 (data type) :


 1 基本数据类型 (primitive data type) {
 [值类型]
  Boolean //布尔值 true false 默认值 false
  // 注意 ActionScript 3 中如果表达式的值不是布尔型 自动转换
  int //有符号整数
  uint //无符号整数 处理颜色值优先
  Number //浮点数
  String //字符串
 }


 2 复杂数据类型 (complex data type){
 [引用类型]
  Array
  Date
  Error
  Function
  RegExp
  XML
  XMLList
  ...
  //我们自己定义的类也全部属于复杂数据类型
 }


 3 * (通用匹配) {
  var i:* = 1;
  trace(typeof(i));
  i="Tigerz";
  trace(typeof(i));
 }


值类型和引用类型的区别{
 值类型{
  直接储存值 不因为其他变量值得改变而改变
 }


 引用类型{
  存储值得引用
 }
}


String (字符串)
字符串的几种声明格式{
 1 var s:String="Test";
 2 var s:String=new String("Test"); // 效果与语法1相同
 3 var s:String='Test'; // 也可以使用单引号声明
}


Array (数组) //ActionScript3中数组是以非负整数为索引值的非类型化数组(typed array)
的稀疏数组 (sparse array)数组 最多容纳 232-1 个元素 (4294 967 295个) 第1个元素的索
引值为0
所谓非类型化数组 意思是并不限制所有合资都要放同一种类型的数据
var myArray:Array=new Array(1,true,"test");
所谓稀疏数组是指不要求每个盒子都要放东西 比如我们可以让第1个和第3个装东西 其他留空
var myArray:Array=new Array(1,null,"test");
数组的几种声明格式{
 var myArray:Array=new Array(1,2,3);
 var myArray:Array=[1,2,3];
 var myArray:Array=new Array(3); //声明长度为3的空数组
}


二维数组


多维数组

变量(variable) //先声明 后使用 变量持有引用 (Reference) 而引用则指向要操作的对象
var 变量名:数据类型 = 值; //赋值的类型必须和变量的类型一致
变量命名规范 {
 1 尽量使用有含义的引文单词作为变量名
 2 骆驼命名法{
  混合使用大小写字母组成变量和函数的名字
  首字母小写 第二个单词首字母大写 比如 highLevelFlag
 }
 3 (min-length && max-information){
  变量名长度应当越短越好
  变量名代表得含义秒素得越清晰越好
 }
 4 尽量避免出现数字编号
}


常量() //声明时必须赋值 赋值后不可更改
const 常量名:数据类型 = 值; //赋值的类型必须和常量的类型一致
{
 const foo:Array = [1,2];
 var b:Array = foo;
 b[1] = 100;
 trace(foo); //输出 1,100
 //foo 指向的数组内容被改变了
 foo = [2,3] //err 常量不能改变
}

Object (对象) (//这里指实例不是类)
成员{
 1:属性(Property) 存储数据
 2:方法(Method) 存储函数
}
声明Object的两种方法{
 1 var foo:Object = new Object();
 2 var bar:Object = {}; //效果相同
  var foo:Object = {name:"kingda",web:"www.kinda.org"};
  //初始化 写入多个属性 属性名和属性值以英文分号“:”隔开
  //属性之间以英文逗号“,”隔开
  var bar:Object = {
  //初始化 写入多个方法
        hello:function(){trace("Hello,guys!");},
        ok:function():String{return "that's ok";}
        }
  //bar.hello();


 2.2 //等同于
  var foo:Object = {};
  foo.name="kingda";foo.web="www.kingda.org";
  //等同于 foo["name"]="kingda";foo["web"]="www.kingda.org";
  var bar:Object = {};
  bar.hello = function(){
   trace("Hello,guys!");
  }
  bar.ok=function():String{
   return "that's ok";
  }
  
}
由于我们确切的知道成员的名字 所以可以直接使用点符号运算符(.)来添加或访问他们
但如果是在程序运行时要访问一个成员 而这个成员的名字到了运行时才会知道 那么就
需要用到数组运算符 [] 了 !!---------------------------------------------

多维数组 !!-----------------------------------------------------------

Null Nan underfined 及各类型变量的默认值 {
    var a:int, //trace(a) 默认值 0
    b:uint,  //0
    c:Number, //NaN
    d:String, //null
    e:Boolean, //false
    f:Array, //null
    g:Object, //null
    h,  //underfined
    i:*;  //underfined
}

类型转换 !!------------------------------------------------------------
{
var n:number=0.1;
var i:int=n;
}

运算符 (Operator) {
 //算术运算符
 +
 -
 *
 /
 %
 - //求反运算符
 
 //算术赋值运算符
 +=
 -=
 *=
 /=
 %=
 
 //关系运算符
 == //值类型比较值是否相等 引用类型比较引用是否相等(是否指向同一个对象)
  //当类型不同时自动进行转换
 !=
 === //全等运算符 不进行类型转换
 !=== //不全等运算符
 >
 <
 >=
 <=


  //当两边的值是NaN和underfined时 == 比较结果相等 === 比较结果不相等

 //逻辑运算符


 && //逻辑AND
 || //逻辑OR
! //逻辑NOT

//三元运算符
(条件表达式)?(表达式2):(表达式3);


++ -- 自增和自减运算符

}

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (552人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号