ActionScript之helloworld

1.ActionScript的数据1类型,声明格式:

 

 1 package
 2 {
 3     import flash.display.Sprite;
 4     
 5     public class test extends Sprite
 6     {
 7         public function test()
 8         { 
 9             var v1:int = 9;
10             var v2:uint = 9;
11             var v3:Boolean = true;
12             var v4:Number = 4.5;
13             var v5:String = "HelloWorld";
14             var v6:String = "HelloWorld Again";
15             var v7:* = 3;
16             v7 = "hello";
17             trace(v7);
18             var v8;
19             trace(v8);
20             var v9:String;
21             trace(v9);
22             var v10:Array = [2,3,4,5];
23             trace(v10);
24             var v11:Object = {id:3, name:"ZhangSan",age:18};
25             trace("Hello world!");
26             
27             
28         }
29     }
30 }
View Code

 

 值得一提的是ActionScript的Object

不知道对象名称,但是把它称作

var v11:Object = {id:3, name:"ZhangSan",age:18};关联性数组,里面所有的内容都是按照键值对-->key:value来设置的

单双引号效果相似

2.ActionScript 的特殊语句:

for in:  

1           var traceArray:Array = new Array();
2             traceArray[0]= function(aParam:String):void
3             {
4                 trace(aParam);
5                 
6             }
7             traceArray[0]("Hello!");
8             
View Code

for each in:

 1           var v1:Array=["a","b","c","d","e"];
 2           trace("for in");
 3           for(var i:String in v1)
 4           {
 5             trace(i);
 6             trace(v1[i]);
 7           
 8           }
 9           trace("for each in");
10           for each(var propertyValue:String in v1)
11           {
12             trace(propertyValue);
13           
14           }
15             
View Code

事实上v1是这样的
0:a 1:b 2:c ...

3.ActionScript 自定义函数:

   i.普通方式

1  var tracePararameter:Function = function(aParam:String) :void    
2           {
3             trace(aParam);
4               
5           };
6           tracePararameter("Hello World!!You Will Win");
View Code

  ii.把函数写在一个数组中调用

1 var traceArray:Array = new Array();
2             traceArray[0]=function(aParam:String):void
3             {
4              trace(aParam);
5             
6             };
7             traceArray[0]("Hello");
View Code

 

iii.以及函数的默认参数

1           trace("have Parameters");
2           f("Lisi");
3           trace("Absense Parameters");
4           f();
5           function f(name:String="Zhangsan"):void{
6                trace(name);  
7           
8           }  
View Code

4.ActionScript面向对象

i.他是这样定义类的

 1     public class Student
 2     {
 3         private var _name:String = "ZhangSan";
 4         public function set name(name:String) : void
 5         {
 6          this._name=name;
 7         }
 8         public function get name():String{
 9         
10            return this._name;
11         }
12     }
View Code

ii.并且是这样执行的

 1 package
 2 {    
 3     import com.bjsxt.as3.Student;
 4     import flash.display.Sprite;
 5     
 6     public class test extends Sprite
 7     {
 8         public function test()
 9         {
10             var s:Student = new Student();
11             trace(s.name);
12             s.name="YanKaiyu";
13             trace(s.name);
14             
15           
16           }  
17 
18         }
19     
20 }
View Code

s.name=其实就是set name

trace s.name其实就是调用get name

5.dynamic  class

动态类的意思就是运行的时候方法和属性可以自动向内部添加

举例如下

 

public function test()
		{
			var s:Student = new Student();
			
			trace(s.name);
			s.name="YanKaiyu";
			trace(s.name);
			trace("Dynamic Class");
			var t:Teacher =  new Teacher();
			t.f=function(a:String)
			
			trace(a);
			}
		    t.f("Dynamic Hello World!");
			delete t.f;
			t.f("YOU Can");
		 

 删除后调用就报错了

5 ActionScript接口的编写

1.定义接口

 1 package com.bjsxt.as3
 2 {
 3     public interface IFlyable
 4     {
 5         function fly():void;
 6        {
 7        }
 8     
 9     }
10 }
View Code

2.类继承接口

 1 import com.bjsxt.as3.IFlyable;
 2     
 3     public class T implements IFlyable
 4     {
 5         public function T()
 6         {
 7         
 8         }
 9         
10         public function fly():void{
11          trace("fly");        
12         }
13     }
View Code

3.使用类

1             var f:IFlyable = new T();
2             f.fly();

6.关于数组Array的一些实用

1 SourceCode

            var a1:Array = [1,2,3];
            var a2:Array = ["a","b","c","d"];
            var a3:Array = new Array();
            trace(a3.push("one"));
            trace(a3.push("two"));
            trace(a3.push("three"));
            trace(a3);
            var a4:Array = new Array(3);
            trace(a4.length);
            trace(a4[0]);
            var a5:Array = new Array("zhangssan","lisi","wangwu");
            trace("before------------------------------------")
            trace(a5)
            a5.unshift('zhaoliu');
            trace("after----------------------------------------");
            trace(a5);
            a5.splice(1,0,'sunqi','liuba');
            trace(a5);
            a5.splice(1,2);
            trace(a5);
View Code

2.out

1
2
3
one,two,three
3
undefined
before------------------------------------
zhangssan,lisi,wangwu
after----------------------------------------
zhaoliu,zhangssan,lisi,wangwu
zhaoliu,sunqi,liuba,zhangssan,lisi,wangwu
zhaoliu,zhangssan,lisi,wangwu
[SWF] E:\ActionScript\test\bin-debug\test.swf - 解压缩后为 1,898 个字节
结果

 

posted @ 2015-08-06 09:59  平何去何  阅读(141)  评论(0)    收藏  举报