Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > シンタックスと言語の基礎 > 言語区切子について > 中括弧 | |||
ActionScript イベント、クラス定義、および関数は、中カッコ ({}) を使ってブロックにまとめます。同じ行に、宣言として左カッコを配置します。
|
メモ |
|
宣言の次の行にも左カッコを配置することができます。コーディング規則では、一貫性のために同じ行に左カッコを配置することが推奨されています。カッコとコーディング規則の詳細については、ActionScript 2.0 のベストプラクティスとコーディング規則を参照してください。 |
制御構造 (if-else または for など) の要素となるステートメントは、たとえ 1 つだけでも中カッコで囲むようにしてください。このような習慣を付けておくと、中カッコの付け忘れによる ActionScript のエラーを回避しやすくなります。次の例は、良くない書き方です。
var numUsers:Number;
if (numUsers == 0)
trace("no users found.");
このコードは間違いではありませんが、ステートメントを中括弧で囲んでいないので、推奨される書き方とは言えません。
|
ヒント |
|
[自動フォーマット] ボタンをクリックすると、このステートメントに中括弧が追加されます。 |
この trace ステートメントの後に別のステートメントを追加すると、2 番目のステートメントは、numUsers 変数が 0 かどうかに関係なく実行されますが、これによって予期しない結果となる可能性があります。そこで、コードに次のような中カッコを追加すれば混乱が避けられます。
var numUsers:Number;
if (numUsers == 0) {
trace("no users found");
}
次の例では、イベントリスナーオブジェクトと MovieClipLoader インスタンスの両方を作成します。
var imgUrl:String = "http://www.helpexamples.com/flash/images/image1.jpg";
this.createEmptyMovieClip("img_mc", 100);
var mclListener:Object = new Object();
mclListener.onLoadStart = function() {
trace("starting");
};
mclListener.onLoadInit = function(target_mc:MovieClip):Void {
trace("success");
};
mclListener.onLoadError = function(target_mc:MovieClip):Void {
trace("failure");
};
var myClipl:MovieClipLoader = new MovieClipLoader();
myClipl.addListener(mclListener);
myClipl.loadClip(imgUrl, img_mc);
次の例では、Student オブジェクトを作成するために使用できる、簡単なクラスファイルを表示します。クラスファイルの詳細については、クラスを参照してください。
// Student.as
class Student {
private var _id:String;
private var _firstName:String;
private var _middleName:String;
private var _lastName:String;
public function Student(id:String, firstName:String, middleName:String, lastName:String) {
this._id = id;
this._firstName = firstName;
this._middleName = middleName;
this._lastName = lastName;
}
public function get firstName():String {
return this._firstName;
}
public function set firstName(value:String):Void {
this._firstName = value;
}
// ...
}
// student_test.fla
import Student;
var firstStudent:Student = new Student("cst94121", "John", "H.", "Doe");
trace(firstStudent.firstName); // John
firstStudent.firstName = "Craig";
trace(firstStudent.firstName); // Craig
次の例では、関数を操作するときの中カッコの使用方法を示します。
function checkForm():Boolean {
status_lbl.text = "";
if (firstName_ti.text.length == 0) {
status_lbl.text = "Please enter a first name.";
return false;
}
return true;
}
function clickListener(evt_obj:Object):Void {
var success:Boolean = checkForm();
};
submit_button.addEventListener("click", clickListener);
SWF ファイルで、firstName_ti TextInput コンポーネントにテキストがない場合に Button インスタンスをクリックすると、エラーメッセージが表示されます。このエラーは Label コンポーネントで表示され、名を入力する必要があることをユーザーに伝えます。
中カッコを使用した次の例では、オブジェクト内にプロパティを作成および定義する方法を示します。この例では、中カッコ ({}) 内に変数名を指定することで、オブジェクトにプロパティが定義されます。
var myObject:Object = {id:"cst94121", firstName:"John", middleName:"H.", lastName:"Doe"};
var i:String;
for (i in myObject) {
trace(i + ": " + myObject[i]);
}
/*
id: cst94121
firstName: John
middleName: H.
lastName: Doe
*/
new Object() 関数では、シンタックスのショートカットとして空白の中カッコを使用することもできます。たとえば、次のコードでは、空白の Object インスタンスを作成しています。
var myObject:Object = {};
|
ヒント |
|
左中カッコに対しては、対応する右カッコが必要です。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000687.html