↑ホーム(よかひよかとき) へ
     こんがらがって困るので、使用頻度大のものをコピー&ペーストで使えるよう 「覚え書」 としたものです。 参考になれば喜。 動作確認は自責で。
JavaScriptの覚え書 ActionScript2の覚え書 ActionScript3の覚え書 Javaアプレットの覚え書
Perlの覚え書 MTASCによるSWF作成の覚え書 Flex3によるSWF作成の覚え書 FLASH および Javaアプレット作品(おもちゃ箱)

[ このページへのリンクはフリーです ]

よかひよかときの (((((((((((( ActionScript2 の覚え書 ))))))))))))    .
■コメント文
■小数点以下の処理
■算術演算(商、余り、大きい方、小さい方、絶対値、べき乗、平方根、指数、対数)
■乱数を発生

■for文
■switch文
■繰り返し(ループ)やブロックから抜け出す

■文字列の比較
■文字列の検索
■文字列から1文字だけを抜き出す
■文字列から何文字か抜き出す
■文字列を分割する(結果を配列として返す)
■文字列の置換

■今日の日付を取得する
■現在の時刻を取得する

■数字を数値に変換
■数式を数値に変換(数式を与えると数値を返す)

■データを外部ファイルから読み込む
■データをCGIへ送信する
■イメージ(図、写真)を外部ファイルから読み込んで配置する
■サウンドを外部ファイルから読み込んで鳴らす

■テキストフィールドを動的に作成する
■図形(直線、曲線、多角形、円)を動的に描く
■グラデーションの描画

■マウスに反応させる
■キーに反応させる

■一定時間待って処理する
■一定間隔で処理を繰り返す


■コメント文   このページのトップへ 説明更新日
ActionScript2 // または /*   */

○ その行の // より後ろに記述された部分はコメントになる。
/**/ で挟まれた部分はコメントになる。複数行になるコメントのときはこちらを使用する。
(なお、HTMLでのコメントは、<!--   -->。また、スタイルシートでのコメントは、/*   */。)
2006.12.30
■小数点以下の処理   このページのトップへ 説明更新日
ActionScript2 (例)
var a=13.64; // 正の数のとき
x=Math.ceil(a);
x=Math.floor(a);
x=Math.round(a);

a=-13.64; // 負の数のとき
x=Math.ceil(a);
x=Math.floor(a);
x=Math.round(a);

a=-13.51;
x=Math.round(a);
a=-13.5;
x=Math.round(a);
a=-13.49;
x=Math.round(a);



切り上げる。x=14 になる。
切り捨てる。x=13 になる。
四捨五入する。x=14 になる。


x=-13 になる。
x=-14 になる。
x=-14 になる。

(注意:Math.round(負数) の場合には特に注意)
x=-14 になる。

x=-13 になる(-14 にはならない!)。

x=-13 になる。
2006.12.30
■算術演算(商、余り、大きい方、小さい方、絶対値、べき乗、平方根、指数、対数)   このページのトップへ 説明更新日
ActionScript2 (例)
var a=7;
var b=3;
var x;
x=a/b; // aをbで割ったを求める。
x=a%b; // aをbで割ったときの余りを求める。
x=Math.max(a, b); // aとbの値のうち大きい方の値を求める。
x=Math.min(a, b); // aとbの値のうち小さい方の値を求める。
x=Math.abs(b-a); // 絶対値を求める。

var c=3;
var d=4;
y=Math.pow(c,d); // cのd乗を求める。
y=Math.sqrt(c); // cの平方根を求める。
y=Math.exp(c); // 自然対数の底eのc乗を求める。
y=Math.log(c); // cの自然対数値を求める。





x=2.3333333333333335 になる。
x=1 になる。
x=7 になる。
x=3 になる。
x=4 になる。



y=81 になる。
y=1.7320508075688772 になる。
y=20.085536923187668 になる。
y=1.0986122886681097 になる。

2006.12.30
■乱数を発生   このページのトップへ 説明更新日
ActionScript2 Math.random()

(例)
1,2,3,4,5 内で乱数を得るには
var x=1+Math.floor(Math.random()*5);




Math.random() は、0以上1未満のランダムな小数値を返すので、それを 5倍し Math.floor で小数点以下を切り捨てて整数にすると、0から4までの乱数を得る。それに1を加える。

2006.12.30
■for文   このページのトップへ 説明更新日
ActionScript2 (例)
for(var i=0; i<=5; i++)
{

}


2006.12.30
■switch文   このページのトップへ 説明更新日
ActionScript2

switch()
{
	case 0: …; break;
	case 1: …; break;
	・
	・
	・
	default: …;
}

(例)
createTextField("tex", 1, 10, 110, 250, 20);
tf=new TextFormat("Times Roman", 14, 0x000000, false, false, false);
var weeks=["日", "月", "火", "水", "木", "金", "土"];
var now=new Date();
var wday=now.getDay(); // 曜日を取得
switch(wday)
{
	case 0:
		tex.text="今日は日曜日で休みです。"; tex.setTextFormat(tf);
		break;
	case 6::
		tex.text="今日は土日曜日で休みです。"; tex.setTextFormat(tf);
		break;
	default:
		tex.text="今日は"+weeks[wday]+"曜日です。; tex.setTextFormat(tf);
}









default はどれにも当てはまらない場合の処理(省略可能)。
2006.12.30
■繰り返し(ループ)やブロックから抜け出す   このページのトップへ 説明更新日
ActionScript2
(例)
var k=0;
for(var i=0; i<=10; i++)
{
	k++;
	if(k>3) break;
} 


○ for, while, do などの繰り返し処理や、 switch による分岐から抜け出す。
 なお、continue を用いると、繰り返しをそこでスキップし処理の先頭に戻る。
2006.12.30
■文字列の比較   このページのトップへ 説明更新日
ActionScript2 if("文字列0"=="文字列1"){ }
if("文字列0"!="文字列1"){ }
(例)
tf=new TextFormat("MS 明朝", 12, 0x000000, false, false, false);
createTextField("tex", 1, 10, 120, 200, 25);
var str0="おはよう";
if(str0=="おはよう")
{
	tex.text="str0 は、おはよう です。";
	tex.setTextFormat(tf);
}
else
{
	tex.text="str0 は、おはよう ではありません。";
	tex.setTextFormat(tf);
}

文字列0 と 文字列1 が同じなら{  }。
文字列0 と 文字列1 が異なるなら{  }。
2007.01.01
■文字列の検索   このページのトップへ 説明更新日
ActionScript2 文字列.indexOf("検索文字", 検索開始位置);
文字列.lastIndexOf("検索文字", 検索開始位置);

(例)
var n;
var str="abcdABCDabcdABCD";

n=str.indexOf("ABC", 5);
n=str.indexOf("ABC");

n=str.lastIndexOf("ABC", 5);
n=str.lastIndexOf("ABC");

検索開始位置から後ろへ検索し、最初に出現する位置を返す。
検索開始位置から前へ検索し、最初に出現する位置を返す。





n=12 になる。
n=4 になる。 検索開始位置を省略すると、最初から検索する。

n=4 になる。
n=12 になる。 検索開始位置を省略すると、最後尾から検索する。

○ 先頭の文字が 0番目。
○ 検索して見つからなければ -1 を返す。

2006.12.30
■文字列から1文字だけを抜き出す   このページのトップへ 説明更新日
ActionScript2 文字列.charAt(抜き出す文字の位置)

(例)
var data="ABCDEFGHI";
var text=data.charAt(4);





text には、4番目の文字 ”E” が代入される。
 ( 先頭の文字は 0番目)

2006.12.30
■文字列から何文字か抜き出す   このページのトップへ 説明更新日
ActionScript2 文字列.substr(開始文字の位置、抜き出す文字の個数)

(例)
var data="ABCDEFGHI";
var text=data.substr(4, 3);


文字列.substring(開始文字の位置(ここから), 最終文字の次位置(ここの前まで))

(例)
var data="ABCDEFGHI";
var text=data.substring(4, 7);





text には、4番目〜6番目の ”EFG” が代入される。( 先頭の文字は 0番目)






text には、4番目〜6番目の ”EFG” が代入される。( 先頭の文字は 0番目)

○ 抜き出す文字の個数 や、最終前文字の位置を省略すれば、最後尾までになる。

2006.12.30
■文字列を分割する(結果を配列として返す)   このページのトップへ 説明更新日
ActionScript2 文字列.split("分割文字")

(例)
var text=new Array();
var data="今日は、晴れています。";
text=data.split("、");



○ 文字列が ”、” で分割され、結果を配列にして返す。結果として
text[0]="今日は";
text[1]="晴れています。";
になっている。

2006.12.30
■文字列の置換   このページのトップへ 説明更新日
ActionScript2 (文字列0.split("文字列1")).join("文字列2");

(例)
var str="abcdABCDabcdABCD";
str=(str.split("ABC")).join("12");

文字列0 の中のすべての 文字列1 を 文字列2 に置き換える。


str の中のすべての ”ABC” を ”12” に置き換える。その結果
str="abcd12Dabcd12D" になる。

○ 文字列 str を ”ABC” で分割し、それらを ”12” で連結する方法である。

2006.12.30
■今日の日付を取得する   このページのトップへ 説明更新日
ActionScript2 (例)
var today=new Date();
var year=today.getFullYear();
// 年の取得
var month=today.getMonth()+1; // 月の取得
var day=today.getDate(); // 日の取得
var wday=today.getDay(); // 曜日の取得
var weeks=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
var week=weeks[wday];
tf=new TextFormat("Times Roman", 14, 0x000000, false, false, false);
createTextField("tex", 0, 10, 10, 240, 20);
tex.text="今日は "+year+" 年 "+month+" 月 "+day+" 日("+week+")です。";
tex.setTextFormat(tf);



○ このまま使うと
今日は 2006 年 12 月 30 日(Sat)です。
のようになる。

2006.12.30
■現在の時刻を取得する   このページのトップへ 説明更新日
ActionScript2 (例)
var today = new Date();
var hour = today.getHours();
var min = today.getMinutes();
var sec = today.getSeconds();
tf=new TextFormat("Times Roman", 14, 0x000000, false, false, false);
createTextField("tex", 0, 10, 10, 240, 20);
tex.text="現在 "+hour+" 時 "+min+" 分 "+sec+" 秒 です。";
tex.setTextFormat(tf);



○ このまま使うと
現在 16 時 13 分 44 秒 です。
のようになる。

2006.12.30
■数字を数値に変換   このページのトップへ 説明更新日
ActionScript2 parseFloat("数字");
parseInt("数字" , 進数);


(例)
var n=parseFloat("1.23");

var n=parseInt("2.56");
var n=parseInt("325ab");
var n=parseInt("ab325");
var n=parseInt("11", 2);
var n=parseInt("a", 16);
var n=parseInt("0xff");
var n=parseInt("012");

数字(文字列)を数値に変換する。
数字(文字列)を整数値に変換する。小数点以下は切り捨てる。
 (進数を省略すれば 10進数とみなされる。ただし、0xで始めれば16進数、0で始めれば8進数としてみなされる)

n=1.23 になる。

n=2 になる。 10進数の 2.56 とみなされ、その整数値が返される。
n=325 になる。 10進数 の325ab とみなされるが、aが変換できないので。
n=NaN になる。 10進数 のab325 とみなされるが、先頭のaが変換できないので。
n=3 になる。 2進数の 11 は、10進数で 3 だから。
n=10 になる。 16進数の a は、10進数で 10 だから。
n=255 になる。 0x で始まってるので16進数とみなされる。
n=10 になる。 0 で始まっているので8進数とみなされる。


○ eval()関数を用いて、 n=eval("1.23"); としても n=1.23 になる。
○ 逆に 数値を数字(文字列)に変換するには、
var a=123;
a=""+a; // a="123" (文字列)になる。

2007.01.02
■数式を数値に変換(数式を与えると数値を返す)   このページのトップへ 説明更新日
ActionScript2  ActionScript では eval()関数が存在しないようなので、自分用に作った。 自由に使ってください。(改変自由。 動作確認、使用は自責で。)
evalMyAS("変数", "数式")


(例)
var x=0.2;
var equation="Math.sin(x)+Math.pow(x, 2)-3*x+1";
var y=evalMyAS(x, equation);
ここに、evalMyAS.html ←をクリックして表示されるものを全部そのままコピーして、貼り付ける。

数式には、 数字、演算子(*, /, +, -)および 次の数学関数(Math)が使用できる。
Math.sin()Math.cos()Math.tan()Math.asin()Math.acos()
Math.atan()Math.log()Math.exp()Math.abs()Math.log(,)
Math.pow(,)Math.sqrt()Math.PIMath.E 


y=0.638669330795061 になる。
 (Math.sin(0.2)+Math.pow(0.2, 2)-3*0.2+1 の計算値を返す)

2007.01.01
■データを外部ファイルから読み込む   このページのトップへ 更新日
ActionScript2 (例)
 先に、data.dat というファイルをつくり、swfファイルと同じ所に置く。 data.dat の中身は

data0=おはよう&data1=こんにちは&data2=こんばんは&data3=777    //(読み込むデータが複数のときは このように & でつなぐことに注意。 改行しないで書く。)

としておく。
 ActinScriptのスクリプトは、次のようにする。
System.useCodepage=true; // 日本語も扱えるようにする
dataF=new LoadVars();
dataF.onLoad=function(success)
{
	if(success) // ロード結果の判定
	{
		text0=dataF.data0; // data.datファイルの data0 の内容を text0 とする。
		text1=dataF.data1; // data.datファイルの data1 の内容を text1 とする。
		text2=dataF.data2; // data.datファイルの data2 の内容を text2 とする。
		num0=parseFloat(dataF.data3); // data.datファイルの data3 の内容(文字)を数値に変換し num0 とする。

		createTextField("textName", 1, 10, 20, 260, 25); //("テキストフィールド名", 深度, x座標, y座標, 横幅, 高さ)
		textName.text=text0+"、"+text1+"、"+text2+"、"+num0;
	}
}
dataF.load("data.dat"); // ファイルのロード

2006.08.25
■データをCGIへ送信する   このページのトップへ 更新日
ActionScript2 (例)
 データ 777 を、data0 の値として CGIの save.cgi というファイルに送信する。 save.cgi ファイルは swfファイルと同じ所に置いてあるとする。

 ActinScriptのスクリプトは、次のようにする。
data0=777;                                    // CGIへ送信するデータ
getURL("save.cgi", "_top", "POST");  //("CGIファイルのあるURL", "ターゲット", "送信方法")
(これだけでよい。簡単だ!)

 save.cgi ファイルで受け取るには
require 'jcode.pl';
require 'cgi-lib.pl';
&ReadParse;
$data0=$in{'data0'};


などとする(CGI の詳細は省略する)。


2006.08.25
■イメージ(図、写真)を外部ファイルから読み込んで配置する   このページのトップへ 更新日
ActionScript2 (例)
 イメージ pict0.jpg を読み込んで配置する。 このイメージは、 swfファイルと同じ所に置いてあるとする。

var image0=createEmptyMovieClip("image0", 1); // ("シンボル名", 深度)
image0.loadMovie("pict0.jpg");
image0._x=120; // 配置する image0 の左上のx座標
image0._y=150; // 配置する image0 の左上のy座標

オプションとして
image0._xscale=80;    // 横倍率(%)
image0._yscale=80;    // 縦倍率(%)
image0._rotation=0;    // 回転角(度)
image0._alpha=100;    // 透明度(0〜100、 0:完全透明になり表示されない)


(説明)
○ MTASCでは、 ****.gif や ****.png ファイルを読み込むには、コンパイルするとき mtasc -version 8 …(以下略) のように、
-version 8 をオプションで指定して出力しなければならない。
○ 例えば、img という名のフォルダ内に pict0.jpg ファイルを置いているときは、image0.loadMovie("img/pict0.jpg"); のようにすればよい。


2006.10.25
■サウンドを外部ファイルから読み込んで鳴らす   このページのトップへ 更新日
ActionScript2 (例)
 サウンド sound0.mp3 を読み込んで配置する。 このサウンドファイルは、 swfファイルと同じ所に置いてあるとする。

 ActinScriptのスクリプトは、次のようにする。
sound0=new Sound(this);
sound0.onLoad=function(success)
{
	if(success) // ロード結果の判定
	{
		sound0.start(); // サウンド再生
		sound0.setVolume(100); // 音量(デフォルトは 100)
	}
}
sound0.loadSound("sound0.mp3", false); // サウンドファイルのロード

(説明)
○ MTASCでは、 ****.au ファイルは読み込めないようだ(?)
再生は sound0.start();   停止は sound0.stop();


2006.08.25
■テキストフィールドを動的に作成する   このページのトップへ 更新日
ActionScript2 (例)
createTextField("textName", 1, 10, 20, 120, 25);  //("テキストフィールド名", 深度, x座標, y座標, 横幅, 高さ)
textName.text="こんにちは";

以下オプションとして
textName.border=true;                               // 枠の有無(true:有 false:無)
textName.borderColor="0xaa0000";              // 枠の色
textName.background=true;                        // 背景色の有無(true:有 false:無)
textName.backgroundColor="0x00ff00";        // 背景色

フォントを指定するには
tf=new TextFormat("MS 明朝", 16, 0x0000ff, true, true, true);  //(フォント, サイズ, 色, 太字, 斜体, 下線付き)
textName.text="おはよう";
textName.setTextFormat(tf);  //(このセットの前に、text="おはよう" のようにテキストを書かないと書式が反映されない)


あるいは、次のように個別に指定することもできる
createTextField("textName", 1, 10, 20, 120, 25);  //("テキストフィールド名", 深度, x座標, y座標, 横幅, 高さ)
textName.text="テキストフィールド内で複数行に表示されています";
textName._x=10;                // 表示位置(x座標)
textName._y=20;                // 表示位置(y座標)
textName._width=40;            // 表示サイズ(幅)
textName._height=80;            // 表示サイズ(幅)
textName.textColor=0xff0000;    // テキストの色

textName.multiline=true;    // 複数行表示
textName.wordWrap=true;    // 行の末尾に収まらない単語のとき、単語を丸ごと次の行に送る

var tf1=new TextFormat();    // フォントサイズの指定
tf1.size=14;
textName.setTextFormat(tf1);

作成したテキストフィールドを削除するには
textName.removeTextField();


(説明)
○ここでは、インスタンス名(テキストフィールド名)として textName を使用している。もちろん任意の名にしてよい。
○フォント指定における tf も 任意の名にしてよい。 太字, 斜体, 下線付き でない指定のときは、それぞれ false にする。
深度とは、インスタンスを重ね合わせる順番のことで、-16384〜1048575 の整数値で指定する。 値が大きいほど前面に、小さいほど後面に表示される。
深度の変更は、例えば 深度1のとき4に変更したければ、 textName.swapDepths(4); とする。このとき、いままで深度4であったインスタンスのものが深度1に入れ替わる。


2006.08.25
■図形(直線、曲線、多角形、円)を動的に描く   このページのトップへ 更新日
ActionScript2 2点 A(x1, y1)、 B(x2, y2) を結ぶ直線を描く
(例)
createEmptyMovieClip("lineName", 2);   //("図形名", 深度)
lineName.lineStyle(1, 0xcc4444, 100);   //(線の太さ, 線色, 透明度)
lineName.moveTo(20, 30);                  // A点の座標(x1, y1)
lineName.lineTo(150, 170);                 // B点の座標(x2, y2)
lineName.endFill();

2点 A(x1, y1)、C(x3, y3) を結び、途中、点B(x2, y2)に近づいた曲線を描く
(例)
createEmptyMovieClip("lineName", 3);   //("図形名", 深度)
lineName.lineStyle(1, 0x00ff00, 100);     //(線の太さ, 線色, 透明度)
lineName.moveTo(20, 230);                 // A点の座標(x1, y1)
lineName.curveTo(250, 300, 150, 370);  // B点、C点の座標 (x2, y2, x3, y3)
lineName.endFill();

3点 A(x1, y1)、 B(x2, y2) 、 C(x3, y3)を結ぶ多角形を描く
(例)
createEmptyMovieClip("lineName", 4);  //("図形名", 深度)
lineName.lineStyle(1, 0x0044ff, 100);    //(線の太さ, 線色, 透明度)
lineName.moveTo(120, 30);                // A点の座標
lineName.lineTo(250, 110);                 // B点の座標
lineName.lineTo(100, 120);                 // C点の座標
lineName.lineTo(120, 30);                  // A点の座標
lineName.endFill();

3点 A(x1, y1)、 B(x2, y2) 、 C(x3, y3)を結ぶ多角形を描く (内部を塗りつぶす)
(例)
createEmptyMovieClip("lineName", 5);   //("図形名", 深度)
lineName.lineStyle(1, 0x0044ff, 100);    //(線の太さ, 線色, 透明度)
lineName.beginFill(0xff00ff, 100);         //(塗りつぶす色, 透明度)
lineName.moveTo(120, 30);                // A点の座標
lineName.lineTo(250, 110);                 // B点の座標
lineName.lineTo(100, 120);                 // C点の座標
lineName.lineTo(120, 30);                  // A点の座標
lineName.endFill();

を描く (N角形で、Nの数を大きくすればよい)
(例)
var N=48;                                       // N角形(Nの値を大きくすれば滑らかな円になる)
var cx=200;                                     // 中心のx座標径
var cy=250;                                     // 中心のy座標径
var r=100;                                       // 半径
var x=new Array();
var y=new Array();
for(var i=0; i< N; i++)
{
    x[i]=cx+r*Math.cos(Math.PI/180*360/N*i);
    y[i]=cy+r*Math.sin(Math.PI/180*360/N*i);
}
createEmptyMovieClip("lineName", 6);   //("図形名", 深度)
lineName.lineStyle(1, 0x0000ff, 100);     //(線の太さ, 線色, 透明度)
lineName.moveTo(x[0], y[0]);
for(var i=1; i< N; i++)
{
   lineName.lineTo(x[i], y[i]);
}
lineName.lineTo(x[0], y[0]);
lineName.endFill();


描いた絵を消すには
clear();

作成したムービークリップを削除するには
lineName.removeMovieClip();

(説明)
○ここでは、インスタンス名(図形名)として lineName を使用している。もちろん好きな名にしてよい
深度については、[■テキストフィールドを動的に作成する] の項参照のこと。 深度が重なると表示されないので注意。


2006.08.25
■グラデーションの描画   このページのトップへ 更新日
ActionScript2 塗りつぶしのグラデーションの描画の指定は、beginGradientFill() で行う。
先に グラデーションのタイプ(線状 or 放射状)、色、透明度、色分布の比率、変換マトリックスを与えておいてから、描く。

(例)
colors = [0xff0000, 0x00ff00, 0x0000ff, 0xff0000];  // (1つ目の色, 2つ目の色, 3つ目の色, 4つ目の色)
alphas = [100, 100, 100, 100];                            // 透明度
ratios = [0, 0x8f, 0x8f+0x70, 0xff];                      // 色分布の比率
matrix = {matrixType:"box", x:0, y:0, w:300, h:200, r:Math.PI/180*45};   //変換マトリックス(r:Math.PI/180*45 でグラデーションの方向を角度で指定する)

createEmptyMovieClip("gradName", 1);                //("図形名", 深度)
gradName.beginGradientFill("linear", colors, alphas, ratios, matrix);  // ("タイプ, 色, 透明度, 色分布の比率, 変換マトリックス")
gradName.moveTo(0, 0);
gradName.lineTo(0, 200);
gradName.lineTo(300, 200);
gradName.lineTo(300, 0);
gradName.lineTo(0, 0);
gradName.endFill();


(説明)
タイプには、linear(線状)と radial(放射状)がある。 放射状にするには、"linear""radial" に変えればよい。


2006.08.25
■マウスに反応させる   このページのトップへ 更新日
ActionScript2 (例)
 x座標が 10〜100、y座標が 50〜80 内の領域でのマウスの操作に対して反応させるとする

マウスボタンが押されたとき
onMouseDown=function()
{
    if(_xmouse>10 && _xmouse<100 && _ymouse>50 && _ymouse<80)
    {
        (ここに実行することを記述する)
    }
}

 次の場合には、onMouseDown をそれぞれ次のように変える。
マウスボタンが上がったとき          onMouseUp
マウスボタンが動いたとき             onMouseMove
マウスホイールが回転したとき      onMouseWeel


2006.08.25
■キーに反応させる   このページのトップへ 更新日
ActionScript2 (例)
押されたキーのコードナンバーを表示させる
createTextField("textName", 1, 10, 20, 80, 25);
key0=new Object();
key0.onKeyDown=function()
{
    textName.text = "code=" + Key.getAscii();
}
Key.addListener(key0);  // key0 をイベントリスナーに登録する


(例)
入力した文字を表示させる
createTextField("textName1", 2, 10, 60, 80, 25);
key1=new Object();
key1.onKeyDown=function()
{
    Ip=String.fromCharCode(Key.getAscii());
    textName1.text=Ip;
}
Key.addListener(key1);  // key1 をイベントリスナーに登録する


(説明)
Key.getAscii() ではなく、Key.getCode() を用いると、大文字小文字の区別がされない。

○(関連)一般に、文字のアスキーコードを取得するには、
aki="あ".charCodeAt(0); // aki=12354 になる。
逆に、アスキーコードの文字を取得するには
str=String.fromCharCode(12354); // str="あ" になる。


2006.11.10
■一定時間待って処理する   このページのトップへ 更新日
ActionScript2 (例)
waiting=setInterval(function()
{
    (ここに一定時間後に実行することを記述する)

    clearInterval(waiting);    // 処理が終わったらクリアする
}, 50)    // この数値の単位は、ミリ秒(1/1000秒)。 この値で待ち時間を指定する。


(具体例)文字を繰り返し移動させる
var count=0;
waiting=setInterval(function()
{
    createTextField("textName", 1, count, 20, 120, 20);    // テキストフィールドのx座標を時間とともに移動させる
    textName.text="この文字が移動します";
    count++;
    if(count>300){count=0;}
}, 50)


(説明)
○具体例では、処理を永遠に繰り返すので処理後のクリアをしていない。


2006.08.25
■一定間隔で処理を繰り返す   このページのトップへ 更新日
ActionScript2  上の 「一定時間待って処理する」方法でもできるが、次のやり方でもできる。

(例)
var count=0;
function routineWork()
{
    (ここに繰り返す処理を記述する)

    count++;
    if(count>300){clearInterval(intervalID);}
    // 処理が終わったらクリアする
}
var intervalID=setInterval(this, "routineWork", 50);    // この数値の単位は、ミリ秒(1/1000秒)。


(具体例)文字を繰り返し移動させる
var count=0;
function routineWork()
{
    createTextField("textName", 1, count, 20, 120, 20);    // テキストフィールドのx座標を時間とともに移動させる
    textName.text="この文字が移動します";
    count++;
    if(count>300){count=0;}
}
var intervalID=setInterval(this, "routineWork", 50);


(説明)
○具体例では、処理を永遠に繰り返すので処理後のクリアをしていない。


2006.08.25

このページのトップへ

**********************************************************************************
Copyright(C) 2006- YokahiYokatoki