|
|
こんがらがって困るので、使用頻度大のものをコピー&ペーストで使えるよう 「覚え書」 としたものです。 参考になれば喜。 動作確認は自責で。 | |||
| JavaScriptの覚え書 | ActionScript2の覚え書 | ActionScript3の覚え書 | Javaアプレットの覚え書 | |
| Perlの覚え書 | MTASCによるSWF作成の覚え書 | Flex3によるSWF作成の覚え書 | FLASH および Javaアプレット作品(おもちゃ箱) | |
| ■コメント文 ◆このページのトップへ | 説明 | 更新日 | |
| 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)が使用できる。
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 |