Home > ActionScript >


ActionScript 3.0 おぼえがき

なんつーかよー。
Flashプレイヤーに機能が備わっていても、オーサリングツールが追いついてないと使えないっぽいんだよなー。
つまり、CS4で書けてCS3で書けない機能もあるっつーことだよな。
「 悲しいけど、オレCS3なのよね 」

root・親

普通に書くとエラー出るよね。 理屈は知らん。
var ROOT:Object = root;
var PARENT:Object = parent;

trace(PARENT.x);
よくわからんが、こんな感じにしておけば今までと同じ感覚で使えるんじゃね?

テキストフィールドのスタイル

テキストフォーマットクラスを、テキストフィールドに突っ込む感じですな。
var myFormat:TextFormat = new TextFormat();
myFormat.font = 'MS ゴシック';
myFormat.size = 12;

myTextField.setTextFormat(myFormat);
ところで、ダイナミックテキストの文字列を変更すると、適用していたフォーマットが消える気がする。 仕方なく、文字列の変更と同時にフォーマットの再適用も行うようにしたんだが、毎回こんなことしなきゃならないんだろうか。

ダイナミックテキストの高さを取得

ダイナミックテキストは、テキストエリアの高さに対してセンタリングする機能が無い(と思う)。
TextField.textHeight
というプロパティを参照すれば高さを取得できるので、y位置を変えちゃうことでセンタリングを実現する。

イベントリスナー

毎フレーム処理とかはこんなだろうか。
addEventListener(Event.ENTER_FRAME, func_ENTER_FRAME);

function func_ENTER_FRAME(E:Event):void {
  // 処理
}

ちなみに、初回設定的な処理と同列に毎フレーム処理を書くと、参照エラーが出る場合がある。
毎フレーム処理内で必要な要素が初期化されていないのに1回目の処理が走るせいだ。
初回設定処理の一番ケツでやっと addEventListener するようにしましょう。

Date型

Date型は、1970/1/1からの経過時間をミリ秒で持ってる感じ。
ローカル時間として使うか・UTCとして使うかは勝手にしろっつー感じ。
toString() と toUTCString() とか
getDate() と getUTCDate() みたいな感じで2つとも用意してあるから。
勝手に使え、的な。

ちなみに
var D:Date = new Date();
としたときはローカル時間が入る。 と思う。

保持している時間は生成された時のものなので、時計みたいなものを作るときは new Date() で最新時刻を取得し続ける。 のだと思う、たぶん。
おいら、こういうのの使い方よく分かんないんだよね。

数値型

Number // 数値型
int // 整数型
unit // 正の整数型
だったかな。
やべー、あちこちに Number 宣言しちゃったよ。
こういうのって最初にチェックしないと面倒なことになるなー。

for…in ステートメント と for each…in ステートメント

どちらも、XML オブジェクト、汎用オブジェクト、配列に対して使用できる。

for…in はプロパティ名の全部ループ。
for each…in はプロパティの値の全部ループ。
ややこしいのう。

for…in
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};
for (var prop in myObject) {
    trace(prop);
}
/* output:
firstName
age
city
*/

for each…in
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};
for each (var item in myObject) {
  trace(item);
}
/* output:
Tara
27
San Francisco
*/

トラックバック : 0件

このページへのトラックバックURL
http://www.sweetwarp.com/56.html/trackback

Home > ActionScript >

購読用フィード