Labo
Firefox3.6におけるFlashでの不具合
先日Firefoxが3.6にアップグレードされたのですが、過去にフルフラッシュで制作したサイトなどをチェックしてみると、予期せぬブラウザのスクロールバーが出現したり、以前機能していたボタンが機能しなくなったりしていました。 焦
注意点や解決策などを以下にまとめておきます。
■フラッシュエリアをクリック(フォーカス)するとスクロールバーが出現する
【解決策】
フラッシュエリアを囲んでいるHTMLのdiv要素にoutline:none;を指定する
#flasharea:focus { outline:none; }
しかし、僕はこれでなぜかうまくいきませんでした。
そこで swffit.js を使用したら解決しました。
こちらの方が確実かも。
□swffit:http://swffit.millermedeiros.com/
□参考:http://www.mousouchiku.net/blog/2010/01/22-150505.php
■Firefox3.6 ではProgressionコマンドエラーで、ムービーがストップする
例えばDoTweenerコマンドを使用したりして、コマンドエラーが出力パネルで
出ていた場合でも Firefox3.6 以外のブラウザでは無視して動いていたのですが、
3.6ではムービーが止まったりするみたいです。
3.6では、よりちゃんとしたスクリプトを組まないとFlashが止まっちゃうようです。
Flash以外でも、Javascript周りの機能がちょっと微妙だったり、ブラウザ上でテキストのコピペがうまくいかなかったり、となんだか色々とエラーが起きてるような気がします。
おそらくですが、色んな細かいエラーなどにたいして、ブラウザがシビアに反応するようになったのではないかという印象です。ちゃんときれいなスクリプティングをすれば問題ないのではと思うのですが、敷居があがった気がします。
FlashやJavascript使わずに、これからはHTML5を使うんだぞ!というMozillaの密かな警告のイントロダクションだったりして。。なーんて考え過ぎか。
10.02.18 | permalink | comment:0 | trackback:0
Progression4:useHTMLInjection
Progression4の機能で密かに注目しているHTMLタグの読み込み。
現在進めている仕事で、Movable Typeから吐き出したXMLをFlash側で読もうと思っていたのだが、HTMLタグから直接情報を読み込んだ方が、スマートだし、そのままHTMLソースもSEO対策に使えそうなので、早速使ってみるこにした。
Is It So Easy?さんの説明を参考に色々試していたのだが、HTMLを読み込む気配は全くない。
色々調べてみたところ、Progression4アップデートリリースノートに
「WebConfig クラスのコンストラクタ第四引数 useHTMLInjection のデフォルト値を false に変更しました。」
と書いてある!
もしやと思い、「WebConfig.as」の「useHTMLInjection:Boolean = false」部分を「true」に変更したらうまく読み込めました。
10.02.16 | permalink | comment:0 | trackback:0
Progression4でページ遷移
まだパブリックベータ版のProgression4ですが、仕事で使ってみることにしました。
ver3ではページ遷移の時に例えば下記のような書き方をしていました。
10.01.22 | permalink | comment:2 | trackback:0
Progression ProccessEvent
シーン移動する時に発行してくれる「ProccessEvent」というProgressionのカスタムイベントがあります。
ナビゲーションのモーションを変化させる時などに非常に役に立ちます。
ProccessEventには以下のようなものがあります。
//シーン移動のアクション全てで発行 progression.addEventListener(ProcessEvent.PROCESS_EVENT, onEvent); //次のシーンが始まる瞬間に発行(現在のシーンから離脱した直後) progression.addEventListener(ProcessEvent.PROCESS_SCENE, onEvent); //シーン移動開始時に発行(現在のシーンの離脱開始時) progression.addEventListener(ProcessEvent.PROCESS_START, onEvent); //次のシーンのloadイベント実行時 progression.addEventListener(ProcessEvent.PROCESS_INTERRUPT, onEvent); //次のシーンでエラーが出た時に発行 progression.addEventListener(ProcessEvent.PROCESS_ERROR, onEvent); //シーン移動が全て完了した時に発行(次のシーンのaddCommand終了時) progression.addEventListener(ProcessEvent.PROCESS_COMPLETE, onEvent);
motuLogさんの記事を参考にしました。
http://plug.heteml.jp/motulog/2009/03/progression3152-processevent.html
09.10.16 | permalink | comment:0 | trackback:0
AS3でSingleton パターン
Singletonパターンは、インスタンスを1個しか生成しないこと
(より広い意味では、生成できるインスタンスの個数に制限があること)を、
クラスデザインとして表現するパターンです。
目的としては
*変数などをどのクラスからでも簡単に参照したい→データ保持用のクラスプロパティなどを作る
*外部からのインスタンス生成を阻止。内部でひとつ作ってしまい。それを外部からコントロール可能にする。
シングルトンクラスの実装。
*コンストラクタの直接呼び出し時にはエラーを投げるようにする。
*コンストラクタが直接呼び出されたのか、インスタンス返却メソッド経由で呼び出されたかを判断する。
*インスタンス返却メソッドが呼ばれた場合、インスタンスが既に作成済みかチェックしインスタンスを返します。(内部的にすでに作成済)
09.08.18 | permalink | comment:0 | trackback:0