Mac版のFlash MXで入力テキストボックスをステージに配置する。
パブリッシュしてテキストボックスに全角数字を入力してみると、
自動的に半角英数に変換されてしまう・・・なんでじゃ?
Windows版のFlash MXで実験してみたところ問題なく全角数字が入力できる。
なんでだー!と親びん。今日は納品日。。。
なにか回避法はあるのだろうか?
Flash 5ではMac,Winとも問題なく全角数字が入るようだ。
結局、Flash MXで制作していたファイルを「名前を付けて保存」でFlash 5形式に保存しなおし、
それに伴いアニメーションswfもバージョン5書き換え。
Flash MXとFlash 5ではActionScriptの書き方も微妙に違うらしく手間が増える。ぎゃ!
ActionScript慣れしていないチームmostは、それでもチーム一丸となってピンチを切り抜けたのである。(たぶん…)
とはいってもおいらはActionScriptダメダメなのでいつものようにお絵描きに徹していたので苦労知らず・・・。ダハッ
これ、僕もやってみましたが、かなり盲点でした。
全角数字は1年に10文字くらいしか入力しないので、気づかないはずだ…。
さんざんいじった感じだと、「仕様」な気がしました。
Macromediaサポートに要確認かも?
書きかけのエントリーなのにレスさんちゅー。
Flash5ならMac,Winとも問題ないみたい。
「仕様」ならMacユーザーとしては「全くけしからん!」と思います。
親びん筋のMLには投げてたみたいだけど、
これはやはしMacromediaサポートに確認してもらおうかね。
ちなみにFlash MX (Mac)を6.0.25.1にアップデートしてみたけど、
今回の症状とは関係なかったようで直らなかった。
仕様ってのもおかしいかと・・・
絶対にバグだぁ〜〜Flash5では、問題ないし・・・
MX → 5に変更する際、困ったこともありました・・・
困ったというか、知らなかっただけなんだけど(^.^)
入力可能フィールド内の文字列を取得するのに
MXの場合
_root.インスタンス名.text
これでとれました。
5の場合
_root.変数名
これで、取れました。
しかしですよ、5の場合は、最初に何か文字列が入っていないと、認識できないもよう(ToT)
じゃぁ、空白の入力フィールドはどうすればいいんじゃい!
ってことで、適当な文字を入れておいて、
_root.変数名=”"
で初期化すれば、大丈夫でした(^.^)
ちなみに、MXの場合は、最初から空のままでもちゃんと取得できます。
あ、そですね「バグ」ですね。
Flashは結構この手の信じられないようなバグがたくさんあって骨折り…。
空白のテキスト入力フィールドは、変数が未定義ってことなので、
適当な文字を入れるのではなく
if(_root.変数名 == undefined){
_root.変数名 = “”;
}
という感じにするといいと思われます。
undefinedは5以降ならば返る値です。
Flash 5でtraceすると、空のストリングが返ってきます。
Flash MXでパブリッシュを5でtraceするとundefinedが返ってきます。
意味合い的には同じなんですけど。