2006年11月01日
ファイルを読み込んでHTML表示する
外部ファイルtest.txtを読み込み、そこに「val1=」に続いて書いてあるHTMLを表示するスクリプトです。
System.useCodepage = true;
testload = new LoadVars();
testload.onLoad = function(success) {
_root.text1.html = true;
_root.text1.htmlText = testload.val1;
};
testload.load("testhtml.txt");
stop();
ここでは
・ファイルを読み込む。
・HTMLで表示する。
という2つのことをしています。
ニュース、更新情報などをFlashで表示したい場合に有効です。
グラフィックでcard.gifも表示しています。
GIF表示ができるのはFlash8からなので、注意です。
readhtml.zip for Flash8
投稿者 usuaji : 19:34 | コメント (0) | トラックバック
2006年10月22日
swfファイルの容量
WEBサイトに置くswfファイルの容量はどれくらいが適切か?という問題があります。
その判断には、どんな目的の誰向けのページかによると思います。
・サイトの目的(ページの目的)
・想定するユーザー
・閲覧する装置
・閲覧する回線
携帯向けのswfなら、容量制限は厳しいし、リッチコンテンツで見せたいという目的なら多少大きくてもOKだと思います。
また、リッチコンテンツの場合でもトップページなどは軽くする方がよいと思います。
それから、地方ではまだADSLや光が届いていない場合もあります。
そのような場所を相手にする商売の場合にはページを軽くしておかないと、見てもらえません。
というわけで、ページは重い方がいいか、軽い方がいいか?と言われれば、軽い方が良いです。
WEBデザイン会社には、明確なラインがあるのかもしれませんね。
投稿者 usuaji : 02:25 | コメント (0) | トラックバック
2006年10月04日
プリローダーが動作しない
Flashムービーには、ロード中に表示される”プリローダー”というものがあります。
これが、動かない事があります。
それはなぜか?
答えは、「読み込みが瞬時に終わるから。」。
なんと、1度読み込んだswfファイルは、キャッシュ領域に保存されるので、2度目は瞬時に読み込めてしまうのです。
プリローダーの作成中には、毎回キャッシュをクリアしないと、テストが出来ません。
同じような現象で、テキストファイルなどをサーバーから読み込む場合は、ファイルがキャッシュされないように、「data.txt?XXXX」という形式でファイルを読み込みます。
そのとき、?の後の部分が毎回変わるように乱数などを生成します。
また、ローカルでのチェックの場合には、「data.txt」の形式で読み込みたいので、その辺のコツがあります。
そのへんは、また機会があれば解説します。
投稿者 usuaji : 23:49 | コメント (0) | トラックバック
2006年01月10日
swfの読み込みチェック
swfファイル、自分自身の読み込み終わりをチェックする方法についてです。
・1,2,3のフレームをキーフレームにします。
・2フレーム目に”startloop”とラベルを付けます。
・3フレーム目のフレームのアクションに下記を入力します。
// 全体読み込みチェック
if (_root.getBytesLoaded() != _root.getBytesTotal()) {
_root.persent.text=int(_root.getBytesLoaded() / _root.getBytesTotal()*100);
_root.gotoAndPlay("startloop");
}
2行目はいりませんが、進行状況を見たければ”persent”と命名したダイナミックテキストを配置してください。
これで、全体を読み込んでから次のフレームに移行します。
WEB、書籍などにも同様の例は沢山のっているので、そちらを参考にしても良いでしょう。
サーバーにアップすると動かない
サーバー上で動かない。
Flashをつくっていて、ローカルでは動作するのにサーバー上では動かないというのはよくあることです。
そのときの注意点をメモしておきます。
■サーバー上で動かない その1
以下の場合、サーバー上では動かないことがあります。
1)ファイル名に半角英文字以外の文字を使用している
2)パスの指定を間違っている
外部のTXTファイルを読み込んでいる場合、そのファイルも半角英文字でパスの指定には注意してください。
さらに、txtファイルはswf,htmlと同じ階層にしないと HTML上のswfファイルからtxtを読むときにはHTMLからの相対URLになります。(記憶が若干あいまいですが)
ということで繰り返しになりますが
1)すべてのファイル名を半角小文字で指定する。
2)HTML,swf,txtを同一のディレクトリにおく。
という事で、動くようになるかも。
どうしても違うディレクトリにファイルを置きたい場合には、一度同一ディレクトリで動作する事を確認してから改造してください。
■サーバー上で動かない その2 サイズが大きいSWFの場合
さらにコレでも動かない場合には、ボタンやgotoAndPlay命令で読み込んでいないフレームを実行しようとしている可能性があります。
サイズの大きいswfファイルは、ファイルの読み込み終了を待たずに動き出します。
最初のフレームにボタンが配置してあって、それをおすと読み終わっていないフレームに移動する場合、動きがおかしくなります。
■サーバー上で動かない その3 ファイルを読み込む場合
ファイル読み込みは発生する場合には、ファイルの読み込みをチェックする仕組みを入れておかないと、読み込み終了前に表示しようとすれば、うまくいかなくて当然です。
この場合も、ローカル上でなら問題は発生しにくいので、注意が必要です。
■ActivX対策のファイルをアップしそこねている
DWで作成したのならScriptsというフォルダと、その中身のAC_RunActiveContent.jsをサーバーにアップロードする必要がありあます。
(FlashでHTMLを書き出した場合には、同階層にあるAC_RunActiveContent.js)
WindowsのActivX対策のファイルがないと、swfファイルが表示されません。
対策ファイルを所定の位置にアップしましょう。