人類が進化するFlash待画

 Flashで待受画像を作ってみようと思ったわけです。
 
 せっかくなので、電波状況で画像が切り替わる待受画像を作ろうとしたのですが、やってみたら意外と難しい。ネットで見つけたAction Scriptを丸写しでやってみたのですが、どうも自分の携帯電話で動作確認すると、なぜかズレる。どうも、ケータイによってシグナルレベルの仕様が違うらしいのです。
 
 今まで、基本的なFlashの使い方くらいは把握していましたが、実際に使ったことはあまりなく、ましてやAction Scriptなんて全く理解してなかったので、こんな簡単なバグを直すのにもひたすらネットでリサーチしたり、試行錯誤を繰り返したりでタイヘンでした。
 で、解決策として、まず最大値(MaxSignalLevel)を取得してから、その値によって動作を振り分けるようにAction Scriptを書き換え、そのほかにもいくつかの不具合を試行錯誤と力技で解決し、ようやく完成。
 
 「人類の進化」をデザインにして、電波の状況によって原始人から人間に行ったり来たりという待受画像です。
 
 通勤の地下鉄でこの待受作品をながめつつ、駅を通過するたびに電波の変化で画像がくるくる変わるのを見て、一人悦に入っています。
 
 
 ◇ ◇ ◇
 
このブログに掲載している画像は、Flashの動きをGifアニメで再現したものです。
実際のFlashファイルは、こちらで公開しています。(Flash 1.1対応機のみ)
 
 
 参考までに、今回苦心して仕上げた Action Script も公開。
 もっとうまい書き方があるのかもしれないけど……。
 
 
//最大シグナルの強さを取得
/:MaxSig = fscommand2("GetMaxSignalLevel");
if (/:MaxSig==3) {
//電波状態を表示(最大値:3)
/:Signal = fscommand2("GetSignalLevel");
tellTarget ("../shinka") {
switch (/:Signal) {
case "0" :
gotoAndStop(2);
break;
case "1" :
gotoAndStop(4);
break;
case "2" :
gotoAndStop(5);
break;
case "3" :
gotoAndStop(6);
break;
}
}
} else {
//電波状態を表示(最大値:4 またはその他)
/:Signal = fscommand2("GetSignalLevel");
tellTarget ("../shinka") {
switch (/:Signal) {
case "0" :
gotoAndStop(2);
break;
case "1" :
gotoAndStop(3);
break;
case "2" :
gotoAndStop(4);
break;
case "3" :
gotoAndStop(5);
break;
case "4" :
gotoAndStop(6);
break;
}
}
}


以下のサイトを参考にさせていただきました。

FLASH_MOBILE - zk_webDev
http://t-a-i.org/zk/webdev/FLASH_MOBILE/
音携闊歩
http://keitaimusic.blog6.fc2.com
by t0maki | 2005-12-11 23:59 | アート>待受画像 | Comments(0)

書くこと、つくることが好き。旅をしながら写真を撮ったり、製品レビューをしたり、思いつきでいろんなところに飛び込んでみたりします。英語と走ることが得意。

カレンダー
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30