プロが教えるわが家の防犯対策術!

Flash Actionscriptの開発で困ってます。
テキストフィールド1とテキストフィールド2があります。それぞれのフィールドに入力されたアルファベットを数値に変換(例えばAと入力されたら1、Bなら2、Cなら3)して、A+B=3のように足し算して返すにはどうしたらよいでしょうか??
こういうのを覆面算?っていうんでしょうか。

A 回答 (1件)

ご使用の Flash のバージョンや ActionScript のバージョンなどがわかりませんので,


何とも言えませんが...。
(何とも言えないというのは場合によって答えがありすぎて,つまり変わりすぎて回答のしようがないということです。)



普通考えるのは ASCIIコード で対象参照すれば良いのではないでしょうか。
しかし,
規則が不規則な場合は配列やハッシュ(ハッシュもどき:結合配列)を使うかもしれません。



ActionScript1.0 or 2.0 で ASCII コードを使う方法

新規ドキュメントを作成して
フレーム1 に次のスクリプトをコピペして
「制御」→「ムービープレビュー」

-------------------------------------------------
// 変数 my_str の値を "A" とする
my_str = "A";
// 変数 my_str の 1 番目の文字を ASCII コードで出力
trace(my_str.charCodeAt(0));
// ↑ココで 65 が返るので 64 を引いてやる
trace(my_str.charCodeAt(0)-64);

// ↓"B"に関してもやってみる
my_str = "B";
trace(my_str.charCodeAt(0)-64);
// ↑ちゃんと 2 が返る
-------------------------------------------------



ActionScript1.0 or 2.0 で ハッシュもどきを使う方法

新規ドキュメントを作成して
フレーム1 に次のスクリプトをコピペして
「制御」→「ムービープレビュー」

-------------------------------------------------
// 変数 STR という Object を作成
STR = new Object();
// "A"エレメントの値を1,"B"エレメントの値を2,"C"エレメントの値を1 とする
STR = {A:1, B:2, C:30};

// "A"エレメントの値を取り出してみる
trace(STR["A"]);
// "B"エレメントの値を取り出してみる
trace(STR["B"]);
// "C"エレメントの値を取り出してみる
trace(STR["C"]);
// ↑ ちゃんと 「1」 「2」 「30」 が返りますね

// ちなみに値の型は何?
trace(typeof (STR["A"]));
// ↑numuber(数値) です
-------------------------------------------------



※ ASCII や ハッシュ が使えないバージョンでも
  場合によっては if文 を使えば乗り切れます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ASCIIコードを使う方法があったんですね。
大変勉強になりました。

お礼日時:2009/04/18 21:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!