FPSについて

FLASHでいうFPSとは、動画の細かさのこと、と解釈しています。

アニメのコマ数や、パラパラ漫画の枚数と同様で、値を高くすれば、その分滑らかな動きが可能になるということです。

…で、今結婚式の最後に上映する参列者の名前にメッセージを添えて流す、エンドロールを作成しているのですが、どうもメッセージがカタカタカタカタするんですよね…FPSを上げて対応出来ないのかと考えたのですが、どうもうまくいきません。しかも、最初の数人のお名前が出た時はそうでもないのに、後にくるに従ってカタカタが酷くなる様な…と思ってぐーぐる先生に聞いてみたら、案の定でした。

FPSを指定していても、結局処理速度が落ちてくればFPSも落ちる、ということで…なるほどそういうことになるのか…!現在、80fpsで指定しているのですが(単にもっと滑らかにならないかなーと試していてどんどん上がってしまっただけで、元々80なんて高い数字指定していた訳ではないですが^^;)、名前が増えていけばいくほど、どんどんとFPSは下がっていき、最終的に40前後で動いている様子でした。

※FPSチェックにはZEPHさんこちらのページから部品いただきました!ありがとうございますー!

大体、30~60程度のFPSがあれば…ということだったのですが、40だと少し物足りないご様子。

解消できるかどうか、ちょっと考えてみます。うーむ。テキストオブジェクトしか持ってないのにそんなに重たいってのか…?

重たくなっている原因:

■画面をフルスクリーンにしている。フルスクリーンでなければ劇的に改善されている模様。サイズの再計算が重たいということ?フルスクリーンにしなければ、大体60~70くらい。

■FLASHが入ってないマシンで単独再生させるために、swf2exeを使用しているのですが、こちらも少し問題あるよう。最初、30程度から入って、最終的に45~55程度に落ち着いてました。うーん。

★…とりあえず、何を置いても動かしてるオブジェクトが多いのが原因だった模様です。onEnterFrameで動かしていたので、かなりの負荷がかかってたみたい…?それにしてもそんなに多くないのですが。うーん。

名前+メッセージのテキストボックスで1MCとしていたのを、2人分の名前とメッセージのテキストボックスをまとめて1MCにしました。これで単純にMCの数は半分。です。後は速度を緩めて画面上に表示されるMCの数を減らす、といった対策で、50FPSまで出るようになりました。思うほどかくかくもしないし。これだとフルスクリーン表示でも大丈夫でした。とりあえずこれでいってみますー。

| | コメント (0) | トラックバック (0)

リンケージって?

FLASHは本当独学なのでイマイチ良く分かってませんのでアレなんですが…実は今までリンケージって何よってのをよく知らずにモノ作ってました…うーん。今までステージに配置してあるオブジェクトしか使ってなかったということですね。言われてみれば確かにそうかも。。

作りたいなーと思っているゲームとか、そういうのを使おうと思うとリンケージは欠かせないらしいことが今日分かりました(笑)遅い。

で、リンケージ。

結局の所、ステージに配置していないオブジェクトを、ロード完了状態にしておきましょうということらしいです。しかしそう書いてしまうと何か違う気がするな…

ActionScriptなどを利用して、オブジェクトを操作する場合、ステージ上に配置していないものについてはリンケージを行ってロードしておく必要がある、という方が正しいのかな。。きちんと自分の言葉で説明出来ないと言うことは良く分かってないてことなんでしょうが。

JavaScriptでも似たようなことできますよね確か。。

そもそも画像をIMGタグなどで書いておいて、尚かつスタイルシートでdisplay:noneとかするのがステージ上に配置しておく方法で(見えてて良いならdisplay弄る必要はない訳ですが)、JavaScriptなどの記述で画面上には見えないけどロードはしておく、というのがリンケージというイメージで合ってる…のかな…後でもうちょっと良く分かったら書き直しましょう私。とりあえずは覚え書きということで。

| | コメント (0) | トラックバック (0)

フルスクリーン表示について

2月に姉が結婚することになりまして…業者に頼むと10万↑するらしいエンディングロールを、費用削減で私が作ることになりました。

漠然と、Flashでなんかをどーにかすりゃいけんだろ、と思っているのですが(苦笑)、まさか結婚式なんて晴れの大舞台でコケる訳にもいかないので、そろそろ本腰入れて、とりあえずモックアップを作ってみようかなと。

お昼休みに調べた感じ、やっぱりFLASHで何とか作れそうな感じです。以下、参考キーワードとサイト。。きちんと調べてお験ししてみないといけません。

fla:ver
Light Saver
スクリーンタイム
http://www.viva-mambo.co.jp/~siho/works/000630.html
http://www.adobe.com/jp/devnet/flashplayer/articles/full_screen_mode.html
http://yoshiweb.net/blog/?itemid=191
http://weblogs.macromedia.com/akamijo/archives/2006/10/flash_player_9_1.cfm
http://support.adobe.co.jp/faq/faq/qadoc.sv?228627+002

結婚式場のパソコン、使わせてもらえるようにお願いしておかないとなー。

| | コメント (0) | トラックバック (0)

SharedObjectの保存

Flash/SharedObject

SharedObjectについては、一旦代入してしまえばflushしなくても、FLASHが終了したタイミングで自動的に値は保存される。
flushは強制的にその時点でSharedObjectを保存する、というだけで、flushしなかったからといって値が保存されない訳ではないです。

……って説明読めば分かる事なんですが、最初ちょっととまどったので、まぁ覚え書き程度に。。。

| | コメント (0) | トラックバック (0)

二重配列の初期化

FLASHの多次元配列では、各次元毎に配列を初期化しないと多次元配列だと認識されない。
……エラー出してくれると良いんだけどもー……せめてNullPointerっぽいものを!!(T■T)

最初に配列のレングスを宣言して配列を初期化するやり方で、二次元配列の初期化も出来へんかなあ?…配列の要素やと思われる可能性大でしょうか。
…TIPSというよりも覚え書きですね(^^;)

<例>
var objTest:Array; // 二次元配列用テスト変数

objTest = new Array();
// 一次元のレングスが5だとして
for (var i = 0; i < 5; i++) {
objTest[i] = new Array();
}

// この後で初めて二次元配列として使用可能
objTest[0][0] = "二次元配列OK!"

FLASH 2004 MX / Win

| | コメント (0) | トラックバック (0)

その他のカテゴリー

EXCEL | Flash | Java | JavaScript | oracle | perl | Shell | おすすめサイト | 小ネタ