« 2006年02月 | メイン | 2006年04月 »

2006年03月28日

パラメータの受け渡し(福笑い)

今回は福笑いをテーマにしたサンプル。
左目の位置だけを移動出来ます。
移動したあとOPENボタンを押すと、別のウィンドウがひらいて、
同じ顔が表示されます。
このURLをメールで送信などすれば、遠隔地にいるひとに
同じ画像を見せることが出来ます。

OPENボタンのスクリプトはこちら

on (release) {
url = "kao.swf?kaomode=view&lex="+int(_root.hidarime_mc._x)+"&ley="+int(_root.hidarime_mc._y);
_root.test = url;
getURL(url);
}

URLを生成して、

ムービー名.swf?変数名=値

という形式で、swfに値を渡してます。
受け渡ししたい変数が複数ある場合には半角の&でつなぎます。
このときの注意は
・変数名はFlashの予約語を使用しない。
・変数名の1文字目に数字を使用しない。
(まあ、Flashの変数の規則を知っておいてね、という事です。)
・値はすべて文字で送られる。
なので、文字の場合も”(ダブルコーテーション)はいりません。
数字も文字として送られ、したのスクリプトではガッツリ代入してますが、
そのへんはFlashの臨機応変さで数値に変換されています。(たぶん)
・値に2バイト文字を使用する場合にはエンコードする。
え~と、漢字ひらがなの場合には、工夫が必要です、ということで、詳しくは書きません。

今回、このサンプルを作る段階で分かったのですが、この形式の指定方法は
Flash5までの方式で、マクロメディア推奨の方法ではないようです。
(Flash8でも動きます。)

さて、受け取った値はこちらで再生します。
これをフレームスクリプトに記述します。

// paramater
_root.test = kaomode;
if ( kaomode == "view") {
_root.test = "目の位置設定";
_root.hidarime_mc._x = lex;
_root.hidarime_mc._y = ley;
}
stop();

kao20060328.zipサンプルダウンロード
注)このサンプルはサーバー上にアップロードしないと動きません。
「ムービー名.swf?変数名=値」の形式ではローカル上で動かない為です。
(?以降が消えます)

投稿者 usuaji : 13:26 | コメント (2) | トラックバック

2006年03月16日

Flash Playerに深刻な脆弱性

Flash Playerに深刻な脆弱性が発見されました。
最新のプレイヤーに更新する事をオススメします。

現在インストールされているプレイヤーバージョンの確認
http://www.macromedia.com/jp/shockwave/welcome/

修正済み最新版プレイヤーのダウンロードとインストール
http://www.macromedia.com/go/getflash/

インストール後、一度ブラウザを閉じてからプレイヤーのバージョンを確認して、”8.0.24.0”であることを確認してください。

こちらに詳しい情報があります。
http://www.flash-jp.com/modules/news/article.php?storyid=113

投稿者 usuaji : 03:45 | コメント (0) | トラックバック

2006年03月09日

ボタンを押すと他のボタンが消える

”ボタンを押すと他のボタンが消える”というサンプルです。
ボタンといってもFlash上ではムービークリップという分類ですので、注意してください。
もとの状態にもどすにはしたのボタンを押します。

各ボタン(ムービークリップ)にはbtn1_mcからbtn4_mcと名前が付いています。
それを全部表示(On)するfunctionと全部非表示(Off)するfunctionを用意します。
(ルートのフレーム1に置きます。)

function allOn() {
btn1_mc._visible = true;
btn2_mc._visible = true;
btn3_mc._visible = true;
btn4_mc._visible = true;
}
function allOff() {
btn1_mc._visible = false;
btn2_mc._visible = false;
btn3_mc._visible = false;
btn4_mc._visible = false;
}

各ボタンには以下のスクリプトを書きます。
・全部を非表示にする。
・自分を表示する。

on (release) {
_root.allOff();
this._visible = true;
}

こんな感じでムービークリップを制御できます。
ここで重要なのは

・functionて便利!
・全体の仕組みをよく考えよう。

という感じです。
面白いね。

Flash8用サンプルダウンロード

投稿者 usuaji : 01:29 | コメント (0) | トラックバック

ランダムで何かを表示する

ボタンを押したら1~6のどれかを表示する。

これは画面の真ん中に”number_mc”というムービークリップがあって、そのフレームの1~6が、各フレームSTOPで止めています。

random.jpg

乱数とムービークリップのフレーム指定で、指定の図柄などを表示できる方法です。

この命令をルートに記述すれば、起動時1回だけフレームを指定する事により、毎回違った絵を表示するなどが出来ます。

on (release) {
var tmp = int(Math.random()*6+1);
trace(">"+tmp);
_root.number_mc.gotoAndStop(tmp);
}

Flash8用サンプルダウンロード

投稿者 usuaji : 00:11 | コメント (0)

2006年03月02日

テキストファイルの読み込み

良くある外部のテキストファイルの読み込みを行うスクリプトです。
1度作れば、そのコピー&ペーストと修正で簡単にいくんだよね。
Loadvarsをつかって読み込み終わりをチェックできるようになったのはFlash5あたりからかな?
便利になったもんです。

スクリプトはフレーム1にコレを書きます。

System.useCodepage = true;
testload = new LoadVars();
testload.onLoad = function(success) {
_root.test.text = testload.val1;
}
testload.load("test.txt");
stop();

そして外部のテキストファイルはtest.txtで内容は

val1=ここに文字

としておきます。

Flaファイルはこちら。
Download file for Flash8
Download file for FlashMX2004

投稿者 usuaji : 02:30 | コメント (0)