大阪のデザイン事務所 アドアチーブ株式会社のオフィシャルブログ

大阪のデザイン事務所 アドアチーブ株式会社のオフィシャルブログ

2007.01.18FLASHで数字のストリングスとNumber

都合でFLASH MXを使っているのですが、

スクリプト中、なぜ?

というところがあり、これも少し躓いたのでメモ程度に。

actionScriptは、

変数の内容をきちんと指定することも出来るのですが、

横着も出来ます。

(3はダメですけど)

たまたま、ある変数に「001」とか、

そうゆう3桁の数字をストリングで入れてたんですね。

で、配列の番号指定で使おうと思ったわけです。

こんな感じで。

myArray = new Array(1,2,3,4,5);

st = "001";

st = Number(st);

myNumber = myArray[st];

「こんな書き方でもいけるでしょ。多分。」と思ったのです。

で、事実、001〜009位まではいけてたんですね。

ところが、010位から、なぜかうまくいかなくなってしまいました。

010 は 8

011 は 9

とかになってしまうんです。

どうやら

Numberは中身がストリングの場合、

指数表現を伴う10進数として解析しようとすることがあるとのこと。

HELPにも書いてあります。

(2007.12/18追記)----------------------------------
10進数として解析しようとするのはMXで
8は8進数としてかいしゃくするようです。
-----------------------------------------------------------------

FLASHでも正規表現が使えたらなぁ。とため息をもらしつつ、

myArray = new Array(1,2,3,4,5);

st = "001";

stToNum = (st.slice(0,1) == "0")?st.slice(1):st;

stToNum = (stToNum.slice(0,1) == "0")?stToNum.slice(1):stToNum;

myNumber = myArray[stToNum];

のように変更したら正しく動いてました。

FLASH MXで作ってましたが8でも同じです。

お伝えしたかったのは、

HELPに書いてあるようなことでも、

ごちゃごちゃになったスクリプトの中では

見つけるのが難しいですね。

ということです。

バグが発覚したときは、とてつもなく不可解な動きに見えました。

関数を何個もたどり、ループの中身を見直し、

デバッグ用に関数を作り、時間をかけて長いアニメーションを見て、ようやく発見。と。

アニメーションとスクリプトが入り乱れたタイムラインで、skip出来ない後ろの方にバグがあったら。

しかも、SWF単独では動作せず、何かのアプリの一部にSWFを組み込むようなものを作っていたら。

そして、最初は正しく動いていて、データ量が増えたら発覚するようなバグだったら。

本日はまたも、終わってみればしょうもない理由で、

膨大な時間がデバッグに消費されてしまいました。

最初から丁寧に書いていれば、そんなこと無かったろうに。と。

綺麗なスクリプトはやっぱり大事ですね。

長い目でみて、生産性の向上につながります。

常々心がけていきたいものです。

この記事へのトラックバック

トラックバックURL:  http://www.adachieve.com/~mt/mt334/mt-tb.cgi/795


この記事へのコメント

1. Posted by a   2007年12月18日 17:51

8進数だよ

2. Posted by 田原   2007年12月18日 22:29

a 様
突っ込みありがとう御座います。

検証はしていないのですが、
HELPによるとMXでは10進数みたいです。

8ではaさんのおっしゃるとおり、
ストリングは8進数ですね。

あいまいな書き方訂正しました。m(_ _)m


名前:
E-mail:
URL:
  情報を記憶:
 
 
 

▼ Advertisement ▼

ソファーなら激安のソファーACへ!

最高のソファーをお求めなら価格も質も魅力的なソファー卸通販店で!

デザイナーの作品や、ふわふわもっちもちのソファーまで、幅広く取り揃えております!

気軽なTシャツやパーカースタイルでおくつろぎください。

▼ Advertisement ▼

最適な税理士をご紹介!

税理士は、ご相談の内容やご希望に合った方を選ぶと効率的!貴社にそんな税理士をご紹介いたします!紹介料は無料です!


当社サービス一覧

Branding

制作実績

Design

ロゴマーク
キャラクター
名刺
封筒
便箋
クリアファイル
紙袋
不織布バッグ
リーフレット
会社案内
社章

販売促進

チラシ
DM
ポケットティッシュ
横断幕
シール
挨拶状

WEB

ホームページ作成

EC

Tシャツ
作業服
ル・コルビジェ

不動産会社向け

不動産契約書ファイル
宅建業者票

Etc.

税理士紹介
イラストダウンロード
カメラマン探しのフリカム
アンケート・統計調査