Flash5から動的に色を変更することができるようになりました。
色はムービークリップに対して指定することができるので、
色の変更をしたいところをそれぞれムービークリップにしてインスタンス名をつけておきます。
例えば今回の例でいうとボディや屋根、クーパーラインなどそれぞれ別々に色を指定したいので、
それぞれ別々のムービークリップとしておきます。
色の指定は簡単です。
c = new Color(target);
c.setRGB(0xff00ff);
|
1行目でインスタンス名「taeget」のColorオブジェクトを生成。
2行目でそれに対して色を指定。
ってこれだけです。
もっと詳しく知りたいかたはFlashのヘルプに実例付きで詳しくあります(^^;
色を動的に変更する方法がわかればあとは簡単なんです(^^;
今回の例ではMiniの表示は「view.swf」がやってるのですが、
例えばこんなカンジで表示されます。
このswfは動的に色を設定してるのですが、
これのもととなるデータは swfのパラメータとして渡してあげています。
このページのソースを見ると分かると思いますが
上の例ではこんなカンジになってます(実際には改行はありません)。
view.swf?BodColR=154&BodColG=245&BodColB=163&RfColR=107&
RfColG=171&RfColB=114&Fender=3&FenColR=154&FenColG=245&
FenColB=163&CooperLine=0&CpLnColR=255&CpLnColG=255&CpLnColB=255&
Grille=1&Bumper=1&OverRider=0&CornerPipe=0&Mirror=0&Fog=0
|
たくさんのパラメータがありますが、例えば「BodColR」「BodColG」「BodColB」はそれぞれ
ボディー色のRGB値です。これらの値を元にMiniの色を設定しているのです。
で、このパラメータを渡してあげるのが「moc.cgi」です。
データファイルを読みこんでOBJECTタグを生成します。
これをデータ数分繰り返すのです。
Miniをつくるところは「mini.swf」によって行いますが、
とくに説明することもないです(^^;
ちなみにこのSWFと「view.swf」はほとんど同じです。
実際には「mini.swf」を先に作って、必要のない部分を削ったものが「view.swf」です。
書き込み処理は2段階になってて、まずFlashによって
Miniのオプションを決定していき、これをCGIに渡すと
メッセージの書き込みフォームを表示します。
ここで「OK」とすることでデータファイルへの書き込みを行っています。
手抜きな解説ですんません(^^;
でもなんとなくイメージはつかめましたでしょうか??
え!? 全然わからない!?
すんませ〜ん!!(^^;
でもここで使ってるテクニックって動的色変更くらいで、
あとはCGIで地道にHTMLを生成するだけなんですよ!(^^;
戻る
|