ActionScript 3.0メモ(1):基本構文
10699 ワード
最近しなければならないことは、ネットワークとローカルで実行する必要があり、できるだけ多くのプラットフォーム(携帯電話プラットフォームを含む)と互換性を持たなければならない.
PhoneGap、HTML 5、Adobe AIR、Flash、SilverLight、uniGUI、Qtを大まかに知ると、やはり老舗のFlashの方が需要に適していることがわかる.
インタフェースとロジックをすべてコードで完了する必要があるため、主な学習任務はActionScript 3.0である.
Delphiがくれた栄養に感謝して、他の道具や言語を恐れなくなりました.
ActionScript 3.0に対する初歩的な感じ:JavaScriptに似ていて、特にオブジェクト向けの面で優れています.また、参考資料も特に十分で、必要な部分を2、3日で修理できる見込みだ.
テスト環境Flash CS 5;テストの準備:
1、新しいActionScript 3.0プロジェクト;
2、第1フレームで右クリック->動作し、コード入力ウィンドウを開く.
3、コード入力後、Ctrl+Enterが実行する.
テスト出力:
PhoneGap、HTML 5、Adobe AIR、Flash、SilverLight、uniGUI、Qtを大まかに知ると、やはり老舗のFlashの方が需要に適していることがわかる.
インタフェースとロジックをすべてコードで完了する必要があるため、主な学習任務はActionScript 3.0である.
Delphiがくれた栄養に感謝して、他の道具や言語を恐れなくなりました.
ActionScript 3.0に対する初歩的な感じ:JavaScriptに似ていて、特にオブジェクト向けの面で優れています.また、参考資料も特に十分で、必要な部分を2、3日で修理できる見込みだ.
テスト環境Flash CS 5;テストの準備:
1、新しいActionScript 3.0プロジェクト;
2、第1フレームで右クリック->動作し、コード入力ウィンドウを開く.
3、コード入力後、Ctrl+Enterが実行する.
テスト出力:
trace(123);
trace("abc");
変数と定数:
var a:int, b:int, c:int;
a = b = c = 6;
trace(a, b, c); //6 6 6
const d:int = 123;
trace(d);
データ型:
//
var iV1:int = -1;
var iV2:int = new int(-2);
var iV3:int = new int("-3");
trace(iV1);
trace(iV2);
trace(iV3);
//
var uV1:uint = 1;
var uV2:uint = new uint(2);
trace(uV1);
trace(uV2);
//
var nV1:Number = 3.14159265;
var nV2:Number = new Number(-3.14);
trace(nV1);
trace(nV2);
//
var bV1:Boolean = true;
var bV2:Boolean = new Boolean(false);
trace(bV1);
trace(bV2);
//
var sV1:String = 'ActionScript';
var sV2:String = new String(" Delphi ");
trace(sV1);
trace(sV2);
/* Object */
//Date
var dateVal:Date = new Date(2011, 5, 13);
trace(dateVal.toString());
//
var sArr1:Array = ["spring", "summer", "autumn", "winter"];
var sArr2:Array = new Array("spring", "summer", "autumn", "winter");
trace(sArr1[0]);
trace(sArr2[1]);
var iArr = [11, 22, 33];
trace(iArr[iArr.length-1]);
//XML
var xmlVal:XML = <List><item>AAA</item><item>BBB</item></List>
trace(xmlVal.item[0]); //AAA
データ型のデフォルト:
//
var i:int;
trace(i); //0
trace(int.MIN_VALUE, int.MAX_VALUE); //-2147483648 2147483647
//
var u:uint;
trace(u); //0
trace(uint.MIN_VALUE, uint.MAX_VALUE); //0 4294967295
//
var n:Number;
trace(n); //NaN
trace(Number.MIN_VALUE, Number.MAX_VALUE); //4.9406564584124654e-324 1.79769313486231e+308
//
var b:Boolean;
trace(b); //false
//
var s:String;
trace(s); //null
//Object
var obj:Object;
trace(obj); //null
var dt:Date;
trace(dt); //null
//
var arr:Array = [11, 22];
trace(arr[1]); //22
trace(arr[2]); //undefined
var val;
trace(val); //undefined
trace(void); //undefined
タイプ変換:
//
var i:int;
i = int(true); trace(i); //1
i = int(false); trace(i); //0
i = int(5.67); trace(i); //5
i = int(0x1A); trace(i); //26
i = parseInt('3'); trace(i); //3
i = int("4"); trace(i); //4
//
var n:Number;
n = parseFloat("3.14159265"); trace(n); //3.14159265
n = Number("3.14159265"); trace(n); //3.14159265
//
var b:Boolean;
b = Boolean(-1); trace(b); //true
b = Boolean(0); trace(b); //false
b = Boolean(1); trace(b); //true
b = Boolean(2); trace(b); //true
b = Boolean(""); trace(b); //false
b = Boolean(" "); trace(b); //true
var obj1:Object;
var obj2:Object = new Object();
b = Boolean(obj1); trace(b); //false
b = Boolean(obj2); trace(b); //true
//
var str:String;
var arr:Array = ["primary", "secondary", "tertiary"];
str = String(arr); trace(str); //primary,secondary,tertiary
str = String(Math.PI); trace(str); //3.141592653589793
演算子:
[] //
{x:y} //
() //
f(x) //
new //
x.y x[y] //
<></> // XMLList (E4X)
@ // (E4X)
:: // (E4X)
.. // XML (E4X)
++ // ( 、 )
-- // ( 、 )
+ // +
- // - ( )
! // NOT
~ // NOT
delete //
typeof //
void //
* //
/ //
% //
+ //
- //
<< //
>> //
>>> //
< //
> //
<= //
>= //
as //
in //
instanceof //
is //
== //
!= //
=== //
!== //
& // AND
^ // XOR
| // OR
&& // AND
|| // OR
?: //
= //
*= //
/= //
%= //
+= //
-= //
<<= //
>>= //
>>>= //
&= // AND
^= // XOR
|= // OR
文:
//if
if () { } else { }
//
var a:int, b:int, c:int;
a = 1;
b = 2;
c = (a > b) ? a : b;
trace(c); //2
//switch
var dt:Date = new Date();
var day:uint = dt.getDay();
switch(day)
{
case 0:
trace("Sunday");
break;
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
case 3:
trace("Wednesday");
break;
case 4:
trace("Thursday");
break;
case 5:
trace("Friday");
break;
case 6:
trace("Saturday");
break;
default:
trace("Out of range");
break;
}
//for
for (var i:int = 0; i < 5; i++)
{
trace(i);
}
//for in
var arr:Array = ["one", "two", "three"];
for (var s:String in arr)
{
trace(s, ":", arr[s]);
}
/***********
0 : one
1 : two
2 : three
************/
var obj:Object = {x:20, y:30};
for (var s:String in obj)
{
trace(s, ":", obj[s]);
}
/***********
y : 30
x : 20
************/
//for each
var arr:Array = ["one", "two", "three"];
for each (var str in arr)
{
trace(str); //one/two/three
}
var obj:Object = {x:20, y:30};
for each (var num in obj)
{
trace(num); //20/30
}
var myXML:XML = <users><fname>Jane</fname><fname>Susan</fname><fname>John</fname></users>;
for each (var item in myXML.fname)
{
trace(item); //Jane/Susan/John
}
//while do while
var i:int;
i = 0;
while (i<5)
{
trace(i); //0/1/2/3/4
i++;
}
i = 5;
do
{
trace(i); //5
i++;
} while(i<5);
関数:
//
function Add(a:int, b:int):int
{
return a + b;
}
trace(Add(1, 2)); //3
//----------------------------------------------------------------
//
var traceParameter:Function = function (str:String)
{
trace("Hello " + str);
}; //
traceParameter("ActionScript"); //Hello ActionScript
//----------------------------------------------------------------
//
function Sum(a:int, b:int):int { return a+b; }
var arr:Array = new Array();
arr[0] = Sum;
arr[1] = function(a:int, b:int) { return a*b; };
trace(arr[0](3, 4)); //7
trace(arr[1](3, 4)); //12
//----------------------------------------------------------------
//
function myFun():String
{
function Fun1():String { return "Hello"; }
function Fun2():String { return "ActionScript"; }
return Fun1() + " " + Fun2();
}
trace(myFun()); //Hello ActionScript
//----------------------------------------------------------------
//
function Sum(a:int, b:int=2, c:int=3):int { return a+b+c; }
trace(Sum(1)); //6
//----------------------------------------------------------------
// (Boolean、Number、int、uint、String)
function Inc1(a:int):void
{
a++;
}
var b:int = 1;
Inc1(b);
trace(b); //1
//
function Inc2(aObj:Object):void
{
aObj.x++;
aObj.y++;
}
var obj:Object = { x:1, y:2 };
Inc2(obj);
trace(obj.x, obj.y); //2 3
//----------------------------------------------------------------
// arguments
function myFun(a:int, b:int, c:int):void
{
for (var i:uint = 0; i< arguments.length; i++)
{
trace(arguments[i]);
}
}
myFun(11, 22, 33); //11/22/33
//arguments.callee ; :
var factorial:Function = function (x:uint)
{
if(x == 0)
{
return 1;
}
else
{
return (x * arguments.callee(x - 1)); // return (x * factorial(x - 1));
}
}
trace(factorial(5)); //120
//----------------------------------------------------------------
//... (rest) :
function myFun(...myArgs):void
{
for (var i:uint = 0; i < myArgs.length; i++)
{
trace(myArgs[i]);
}
}
myFun(1, 2, 3); //1/2/3
myFun("A", "B", "C", 1, 2, 3); //A/B/C/1/2/3
エラー処理:
try
{
throw new Error(" ");
trace(" ");
}
catch(e:Error)
{
trace(e.message);
}
finally
{
trace(" ");
}