ホーム > タグ > Flash
Flash
wonderflでtrace
- 2010-06-03 (木)
- Flash
LocalConnectionいじくり回せばできるんじゃね?ってことで作ってみた。
仕組みは簡単。
TextFieldだけのswfを別ウインドウで開いて
LocalConnectionでテキストを送信。
別ウインドウのswfの方で表示。
コネクションIDをurlに付けてjsで受け渡しししたり、
navigateToURLでウインドウ開くまでタイムラブがあったりするので
いろいろごにょごにょしてたりするけど。
ただ、safariだと
navigateToURL(new URLRequest(_url), "newwin");
で一度開いたウインドウがリロードされずに新しくウインドウが開く。激しくウザイ。
まぁ、おとなしくdebag playerつかえってことですかね。
クライアント側のソースもwonderflにのせときます。
- Comments: 0
- Trackbacks: 0
swfのキャッシュにはまる
- 2010-04-01 (木)
- Flash
特定の環境下でflashが正常に表示されない現象に遭遇。
イロイロしらべた結果、
どうもEvent.COMPLETEとキャッシュっぽい。
参考
LoaderInfoでキャッシュがある時の動作について
※ちなみに上記記事にはifの分岐に誤りがあって正しくは
if(info.bytesLoaded == info.bytesTotal){
init();
}else{
info.addEventListener(Event.COMPLETE,onCompleteFunc);
}
バグが発生する条件は確認できた限りで
- IE7/6
- Flash Player9.045
- Objectタグを直接htmlに記述
- IEの設定でキャッシュを有効にする
以上の組み合わせの時。
SwfObjectを使えば発生しないのでオーサリング/テスト時に全く気付かなかった罠。
- Comments: 0
- Trackbacks: 0
タイムラインアニメーション用のThread(そうめん)
- 2010-03-02 (火)
- Flash
自作で便利だったので公開。
タイムラインでアニメーションするMovieClipを再生。
停止を待つThread(そうめん)用のスクリプト。
package {
import flash.display.DisplayObject;
import flash.events.Event;
import org.libspark.thread.IMonitor;
import org.libspark.thread.Thread;
public class TimelineThread extends Thread {
private var _mc:DisplayObject;
private var _frame:*;
public function TimelineThread(mc:DisplayObject,frame:*=1) {
_mc = mc;
_frame = frame;
}
public function cancel():void {
interrupt();
}
override protected function run():void {
interrupted(interruptedHandler);
_mc.gotoAndPlay(_flame);
event(_mc, Event.COMPLETE, completeHandler);
}
private function completeHandler(e:Event = null):void {
}
private function interruptedHandler():void {
_mc.stop();
}
}
}
親のThread内で
var _timelineThread:TimelineThread=new TimelineThread(button_mc, 2)
_timelineThread.start();
_timelineThread.join();
としてムービークリップへの参照と、再生したいフレーム(数値 or フレームラベル)を渡す。
ムービークリップ内で次の処理に移行したいフレームにEvent.COMPLETEを記述。
this.stop();
dispatchEvent(new Event(Event.COMPLETE));
アニメーションを止める必要が無ければthis.stop();はいらない。
- Comments: 0
- Trackbacks: 0
BeTweenAS3のtransition
- 2010-01-06 (水)
- Flash
BeTweenAS3ではeasingのBackとElasticについて
それぞれイージングの調節が出来るようになっている。
Backの場合、以下のプロパティが用意さている。
Back.easeInWith(s:Number = 1.70158)
Back.easeOutWith(s:Number = 1.70158)
Back.easeInOutWith(s:Number = 1.70158)
Back.easeOutInWith(s:Number = 1.70158)
例えば
BetweenAS3.tween(box, {x:400}, null, 10, Back.easeOutWith(3.5));
て感じで指定するとBackの振れ幅が大きくなる。
デフォルト値は1.70158。
Elasticの場合も同様。ただしこちらは引数が2つ
Elastic.easeInWith(a:Number = 0, p:Number = 0)
Elastic.easeOutWith(a:Number = 0, p:Number = 0)
Elastic.easeInOutWith(a:Number = 0, p:Number = 0)
Elastic.easeOutInWith(a:Number = 0, p:Number = 0)
aとpは amplitudeとperiodかな。
http://blog.nipx.jp/2008/04/elastic-transition-amplitude-p/
ちなみにTweenerでも同様の調整が出来るそうで。
http://saqoosha.net/2008/02/19/641/
- Comments: 0
- Trackbacks: 0
psdデータからFlashを作成する際の注意点
- 2009-12-08 (火)
- Flash
PSDのデザインデータをデザイナーさんから頂き、
Flash化した際にPhotoShop上のデザインとFlashとで色が違うと言う事がたまにある。
Bitmapのデータだけでなく、色を16進数で指定しても微妙に色が違う。
こうなるとWeb用に保存しても、FireWorksで開いてもPhotoShopの色は再現されない。
色々と試して何とか回避方法が見つかったのでメモ。
バットノウハウかもしれないし、Mac、シネマディスプレイ、CS3の方法しかしらない。
できればデザイナーさんと一緒に見て色の整合性を取るのが安全だと思う。
- ビュー > 校正設定 > モニタRGB
- 編集 > プロファイルの変換 > 変換後のカラースペース にCinemaを選択(多分、使っているモニタのプロファイルを選択すれば良いのだと思う)
- 編集 > プロファイルの指定 > 作業用RGB:sRGB IEC61966-2.1 にチェックしてOK
- ビュー > 校正設定 > モニタRGB
以上。
以下にPhotoShopのキャプチャとそのまま書き出したgif、上記の手順を加えた後書き出したgifを掲載する。
見比べてみると後者の方がPhotoShopの状態に近い。

PhotoShopのスクリーンショット

そのままgifで書き出し

上の手順を試してからgifで書き出し
- Comments: 0
- Trackbacks: 0
Home > Tags > Flash
- Search
- Feeds