2010年10月12日

AIR for Android(まとめ)

Adobe AIRを使ってのAndroidアプリ作成方法の解説。
なかなかエラーが出て開発が進まなかったんだけど、ようやく開発を始めることができた。
Flash CS5でAndroidアプリ(Air for Android)まとめ
posted by BigMoonEz at 11:45 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2009年04月20日

IEでFlashの領域外の部分まで表示されてしまう

いやもう今日はホントにびっくりしました。
こないだまでIEでちゃんと表示されていたFlashが、途中Firefoxで開発を進めていて、今日になってIEで表示してみたら領域外の部分まで全部表示されてしまったのです。
キャラクターものの、HTML部分とFlash部分を組み合わせるもので1ピクセルのずれも許されないサイトを作っていたのに、崩れまくりw

いろいろ悩んだ末に原因がわかったので報告します。
結論からいうと、Flashのidと、スタイルシートで指定しているidがぶつかっていたからでした。
例えば、Flashのほうに「main」という名前をつけて、main.swfを作り、HTMLのほうもメイン部分に
<div id="main">
 ・
 ・
 ・
</div>
としていると、cssで指定している
#main{
width : 650px;
}

なんて部分がパブリッシュしたコードのid=main部分とかぶり、モロにFlashに適用されてしまうみたいです。
IE6,IE7と現象を確認しました。
もちろん回避するにはどちらか名前を変えればOKです。
posted by BigMoonEz at 13:24 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年09月28日

Flashで動画(AVIファイル)を作る

仕事でDVDムービーを作る案件があり、試行錯誤しましたのでその結果をご紹介します。
Flash8での制作方法ですが、SWFからAVIに変換する方法やflaから変換などいろいろ方法はあるようですが、いろいろ試してみても一発でうまくいくツールはあまりありませんでした。
結局、一番いいのはFlashから直接aviファイルを書き出すことでした。
「ファイル」-「書き出し」-「ムービーの書き出し」でaviファイルを選択して書き出します。
このとき、あらかじめ「パブリッシュ設定」で、
・「ムービーの圧縮」にチェックは入っていないか
・JPEG画質は
・オーディオの設定は
確かめておきます。
画質が汚くてもいいのであれば構わないですが・・・

Flashから直接aviファイルを書き出す場合は、あらかじめ、ムービーを前提にした作り方をする必要があります。
以下、注意点です。
・ムービー書き出しの場合、rootのタイムラインだけ読み込まれる。
・すなわち、ActionScriptを使ったムービークリップの制御などは動画には反映されない。
・マスクやガイドは問題なし

「ムービーの書き出し」をクリックすると、次にオプション画面が表示されます。
avi-out1.gif
「サイズ」は元のサイズをそのまま使ったほうがいいでしょう。
「ビデオ形式」は、もちろんビットサイズが大きいほうが画質が綺麗になります。
「圧縮ビデオ」はコーデックを使って圧縮するかどうかの選択です。
「スムーズ」は、ビデオをスムーズに表示させるオプションで画質優先ならチェックを入れるべきです。
「サウンド形式」は、出力する音楽の音質を選択するものです。
音質優先なら44KHz 16ビットを選択します。

さて、ここの設定で書き出される動画のクオリティが決まるわけですが、画質優先だからといって圧縮せずに書き出しするともちろんデータサイズが大きくなります。しかも、私の環境では出力データが4GBを超えると表示がおかしくなり、まともなものが出力できませんでした。
(4GB以内なら大丈夫かもしれません)

そこで、今度はビデオを圧縮して出力サイズを抑えるわけですが、「圧縮ビデオ」にチェックを入れると、何で圧縮するかのオプションが表示されます。
avi-out2.gif
品質やキーフレームはご自由に設定していただくとして、問題はコーデックを何で行うか、です。
ちなみにここにコーデックを表示させるためには、もちろんあらかじめそのPCに利用するコーデックをインストールしておく必要があります。
DivXやCinePackなどいくつかコーデックはあります。
一通り、なんでも圧縮して再生はできるようになるのですが、家庭用のDVDプレーヤーでも再生できるように書き出したAVIファイルをTMPG Encなどで読み込もうとすると、なぜかエラーが^^
最終的に、唯一問題がなかったのがXvidコーデックでした。

というわけでいろいろと細かい点でひっかかったAVI出力でしたが、なんとか問題なくDVDビデオを制作することができました。

AVI→DVDビデオの作り方はこちらが参考になります。
posted by BigMoonEz at 17:23 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年04月20日

線の塗りと拡張エラーに悩まされるとき

Flash8でプレーヤー7用のムービーを作ってパブリッシュするとき、「このプレーヤーでは、線の拡張機能はサポートされていません」というエラーが出力されるときがあります。

すべてのインスタンスをFlash8上で作成している場合は、インスタンスを選択したときにプロパティウィンドウに表示される
「線のヒント処理」のチェックをはずし、「伸縮」をなしに設定すればエラーはなくなります。
(というか、はじめからPlayer7をターゲットにしている場合は選択することができません。制作途中でターゲットを変更した場合にこのような問題が起こります。)
もし、グレーアウトして選択できない場合は、一度ターゲットをFlash8に戻して設定してからターゲットを7にしてみましょう。

イラストレータからデータを持ってきている場合は、イラレの元のデータにおいて、先端を「丸型先端」に、結合を「ラウンド結合」に変更してから書き出しし、読み込んでみてください。
ダメな場合は、読み込んだデータのグループを解除し、「修正」-「シェイプ」-「線を塗りに変換」を実行すれば、大丈夫なようです。

「線を塗りに変換」すると、データがヘンになっちゃうよ、という場合は、イラストレータのデータをコピーし、Flashでペーストしてみてください。

それでもダメならどのデータ部分がエラーになっているか見極めて、上記2つの対策を組み合わせてみるとうまくいく場合があります。

Flashを極めたいなら・・・
posted by BigMoonEz at 11:59 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年04月19日

透過したときに、重なっている部分も透けて見えてしまう

インスタンスをそのまま透過Flashで、いくつかのパーツ(インスタンス)をシンボルにまとめて透過の設定をした場合、個々のパーツがそれぞれに透過するため、重なっている部分が透過して背面が見えてしまう場合があります。
複数のパーツは、ひとつのグラフィックとして扱うことで回避できますが、イラレやFireworksから持ってきたデータや、パーツが大量にある場合は修正するのも面倒です。

インスタンスを分解してから透過その場合は、パーツ(インスタンス)をすべて選択(シンボルを選択、ではないですよ)して、「修正」-「分解」を選びます。
さらに、線と塗りが入り乱れている場合は「修正」-「シェイプ」-「線を塗りに変換」を行います。
元のデータの編集はできなくなりますが、塗りはそのままにベクターデータとして伸縮可能です。
posted by BigMoonEz at 11:31 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年04月11日

今現在の変数の値は?

Flashパブリッシュ時に今現在置き換えられている変数にどんな値が入っているか知りたい場合があります。
そんなときは、ムービープレビュー時(Ctrl+Enter)に起動するプレーヤーのメニューから
「デバッグ」-「変数のリストアップ」
を選択すると変数が出力ウィンドウに一覧で表示されます。
ムービープレビュー時に起動するプレーヤーは、FlashPlayerとは異なり、そのほかにもダウンロード時の回線シミュレートする機能などあります。(が、これは別の機会に・・・)
posted by BigMoonEz at 09:42 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年03月30日

動画でマスクをかけるときの注意点

ベクターデータやビットマップ画像においてマスクをかけられるように、動画にもマスクをかけられます。
動画を配置してシンボル化して動きを付ける方法は
http://umioyo.seesaa.net/article/36560999.html
で紹介しましたが、さらにこれにマスクをかけることも可能です。
ところが、マスクを途中で変えると、動画はそのまま動きますが、音声は最初に戻ってしまいます。
例えば、動画を1〜100フレームに配置し、マスクを1〜50フレまで、ちょっと場所を変えて51〜100フレに配置したとすると、51フレの時点で、音声だけはじめに戻ってしまいます。
解決方法はわかっていません。
代替の案として、レイヤーを完全に分けてしまえば大丈夫なようです。
例えば、レイヤー1は1〜50フレまで動画の1〜50フレを配置し、レイヤー2はそのマスクを配置。
レイヤー3は動画の51〜100フレを配置し、レイヤー4はそのマスク、といったように、動画も完全に分けてしまえば問題ないようです。
posted by BigMoonEz at 11:09 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年03月22日

動画を配置する

Flashで動画を配置する場合、そのままメインのフレームに配置すると簡単にFlash上に動画として配置することはできますが、動画自体をフェードイン、フェードアウトなどの効果をつけることはできません。
一度動画自体をムービークリップ(MC)にしてから配置すれば動画自体のアルファ値などを変えることができますが、ムービークリップにしてしまうと、メインフレーム上で現在どの場面かわからなくなってしまいます。
動画を配置する場合は、「ムービークリップ」ではなく、「グラフィック」を選択してください。
もちろんアクションの割り当てはできなくなりますが、現在どの場面かを確認することができます。
posted by BigMoonEz at 10:35 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年02月28日

PhotoShopファイル(*.psdファイル)をライブラリに読み込む

通常、フォトショップファイル(.psd)ファイルはそのままではFlashのライブラリに読み込むことができません。
一度Jpegやpngなどに変換して読み込むのが一般的ですが、直接Flashに読み込みたい場合は、QuickTimePlayerをインストールすると読み込むことができます。
QuickTimePlayerをインストールすると、そのほかにもQuickTime対応のファイルを直接読み込めるようになります。
(*.aiff , *.qtif ,*.au , *.mov , *.tga , *.sgaなど)

posted by BigMoonEz at 10:06 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年02月27日

Flashのパブリッシュをバージョンダウンさせたい

例えばFlash8で作成したものをVer6でパブリッシュしたい。。。という場合、線や塗りの拡張機能が働いていて、正常にバージョンダウンできない場合があります。
一度、SWFファイルを作り、Sothink SWF DecompilerなどのSWFからflaファイルを再現するソフトを使って復元してみましょう。
あらゆる環境を試してみたわけではないですが、かなりの確立でバージョンダウンできます。
ただし、(おそらく)和文フォントに対応していないので、フォントの設定をしなおす必要がありますが、フォント情報自体は残っているので、あまり大変な作業ではないと思います。
どうしてもうまくいかないという場合。お試しあれ。


・・・そんな状況あるのか?

posted by BigMoonEz at 10:49 | Comment(2) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年02月23日

SWFファイルの容量を減らす

Flashパブリッシュ後の容量を減らす方法をご紹介します。

ビットマップではなく、ベクターデータを扱う
単純な図形であれば、画像としてデータを読み込むのではなく、ベクターデータとして取り込んだほうが軽くなります。
コピー&ペーストの場合は、Fireworksの場合は「編集」-「ベクターとしてコピー」を選択します。(写真などもともとJPG画像などはコピーできません)
イラストレータの場合は、パスがあるものはそのままコピーペーストして大丈夫ですが、パスが閉じていないものなどは貼り付けするとパーツの順序が変わるなど正常に貼り付けできない場合がありますので、「ファイル」-「データの書き出し」からswfファイルで書き出し、Flashで読み込むとパスが生きたまま取り込むことができます。
どちらにしても、複雑な図形よりも単純な図形のほうが容量は軽く抑えられます。
また、グラデーションも避けたほうがよいです。

ビットマップを読み込む場合
ビットマップを読み込んでから縮小して表示する場合は、元の大きさのままの容量になりますので、縮小したサイズのものをあらかじめ用意して配置したほうがジャギーも出ず、綺麗に軽く配置することができます。

アニメーション作成時の注意
モーショントゥイーン、シェイプトゥイーンはなるべく避けたほうがよいです。繰り返し動作や移動にはアクションスクリプトを使って軽くできる場合もあります。

テキストを使用する場合
図形的になるべくシンプルなフォントを使用します。
静止テキストのままではなく、分解してベクターデータとして容量を減らすことも可能ですが、テキストの量が多い場合は逆にフォントを埋め込むよりも重くなる場合がありますので、少量のテキストを表示させたいときに有効です。
静止テキストを使う場合でも、システムフォント(先頭にアンダーバーがついたフォント _ゴシック _明朝 _等幅 など)を使用するとフォントを埋め込んだ状態に比べて軽くすることができます。

パブリッシュするとき
「ファイル」-「パブリッシュ設定」を開きます。
「Flash」タブの「ムービーの圧縮」にチェックを入れてパブリッシュすると軽くなります。
FlashMXから実装された機能ですが、Flashプレーヤーのバージョンによって、表示できなくなる場合がありますので注意が必要です。
「JPEG 画質」の容量を下げることで全体の画質を下げ、容量を減らすこともできます。



独学で勉強してなんとなーくわかったつもりで制作していませんか?パスがいまいちわからない。このボタンってなに?という人にはオススメ!
posted by BigMoonEz at 10:46 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年02月06日

ムービーをHTMLに配置する際の注意

FlashムービーをHTMLに組み込むとき、これまではパブリッシュしたHTMLコードをそのままHTMLに埋め込んでいればOKでした。
Windowsの新しいパッチにおいて通常の組み込みではユーザーの動作に反応しなくなりました。
ただのアニメーションでは問題ありませんが、ボタンクリックなどユーザーの操作が必要なものは、ユーザーが一度ブラウザをクリックしてアクティブな状態にしてからでないと、例えばオンマウス時の色の変化などの動きがつかなくなります。
詳しい解説は本家にありますが、簡単に説明すると

【JavaScriptの外部ファイルを作成】
document.write('<object classid="clsid:D27CDB6E..." ...>\n');
document.write('<param name="movie" value="hoge.swf" />\n');
document.write('</object>\n');

のように、本来HTMLに埋め込むコードを
document.write('');

で囲んで、適当なファイル名に保存します。
ここでは、HTMLファイルと同じ階層に「script.js」という名前で保存します。

【HTML側】
Flashを埋め込みたい部分に
<script src="script.js" type="text/javascript"></script>

先ほどのファイルを指定します。

この方法で問題なく表示されますが、今度はJavaScriptを切っているユーザーに対する対処も必要になってきます。
そのため、HTML側は

<script src="script.js" type="text/javascript"></script>
<noscript>
<object classid="clsid:D27CDB6E..." ...>
<param name="movie" value="hoge.swf" />
</object>
</noscript>


として、JavaScript非対応のユーザーへの対処を行ないます。

posted by BigMoonEz at 17:53 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2007年01月11日

Flash8 ビデオエンコードした映像がNNで見れない

Flash8VideoEncoder.gifFlash8から付属のVideoEncoder、大変便利ですがNetscapeやFirefoxなどMozira系のブラウザで表示されない場合があります。
ビデオ再生時にコントロールだけ表示されて音声は出るのに画像が表示されない現象で、原因はわかりませんが、エンコードする際にFlashPlayer7で書き出すと問題ないようです。

posted by BigMoonEz at 10:11 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2006年11月03日

MC上でマウスカーソルを変えないようにするには

たまに、ホントーにたまにですが、MC(MovieClip)上にマウスカーソルがきた時に、通常は指のカーソルに変わりますが、変えたくないときがあります。
そんなときはこれ。
this.useHandCursor=false;

実際は、MC上にきたときに使うので
on (rollOver) {
this.useHandCursor=false;
}

となります。
ただし、ムービークリップにしか使えないので要注意。
ボタンはダメです。

あぁ忙しい。。。
posted by BigMoonEz at 00:15 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2006年10月12日

変数名を変数で生成する

duplicateMovieClipなんかを使うときにありがちですが、変数を使ってある変数名を処理したいというときがあります。
例えば

_parent.hoge2=10;
_parent.hoge4=20;
_parent.hoge6=30;
  ・
  ・
  ・
と繰り返し処理を行いたいときは

for(i=2;i<20;i+2){
_parent["hoge"+i]=(i*5);
}

※すいません。動作検証はしていません。動かないかも・・・

のように、記述できます。
[ ]直前の . は記述不要で間違いやすいので注意です。
posted by BigMoonEz at 09:39 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2006年10月02日

Flashで背景を透明化(透過)する

Flashで背景を透明化する方法を探してましたら、結構いろんなサイトありました。
一昔前にフローティング広告が流行ってうるさいくらいでしたがWinIE限定ということで最近はあまり見かけなくなりましたが、最新版では意外と多くのブラウザに対応しているようです。
で、数ある紹介サイトの中でやはり紹介するなら本家かな。
ところがより実践的な「HTML上に透過Flashを配置する方法」が載ってないんですね。本家にもその他大勢のサイトにも。
でなるべく簡単に透過させらんないかなーとDHTMLとか読み漁ってたんですが、要するにFlashの部分をHTMLのレイヤーよりも上に持ってくればいいので、スタイルシートで簡単にできることに気づきました。

<div style="position:absolute; z-index:1">
〜Flash部分のコード〜
〜もちろんtransportなど透明化の指定をお忘れなく〜
</div>


たぶん、topとleftも指定すれば好きな位置に表示できるんじゃないかと思います。(試してませんケド)
posted by BigMoonEz at 23:16 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする

2006年09月26日

loadMovieを使ってできること

はじめてloadMovieを使ってみました。
あんまり外部に置いて読み込むということをしたことがなかったので、いろいろ戸惑うことが多く。
本体のSWFから必要なJPEGやSWFだけを読み込むというものですが、いくつか注意点があります。
JPEGの場合、プログレッシブは不可。GIFやPNGなども読み込みできません。
また、SWFの場合は読み込む外部のSWFの原点を左上にしておかないと、位置がずれて表示されるので注意です。
書式は

loadMovie(読み込むアドレス , 読み込む先のインスタンス名);


になります。
例えば外部のhoge.swfをhugaインスタンスに読み込む場合

loadMovie("hoge.swf","huga");


この場合、読み込まれたhoge.swfはhugaインスタンスそのものとして動作します。
だから、元のswfで

_root.huga.gotoAndPlay("label");


などとジャンプ先を指定させることも可能。
※ただし、飛び先が読み込まれていないと真っ白になるので注意。

逆に、huga.swfでタイムライン終了時に

_root.gotoAndPlay("1");


なんて指定すると、huga.swfのタイムラインが先頭に行くのではなく、全体のタイムラインが先頭に移動しちゃいますのでご注意を。

それから、rollOverで画像が変化するボタンのようなものを作ったとして、その画像を外部から読み込む場合はrollOver時、rollOut時、それぞれでその都度画像を読み込む必要があります。
一回読み込んじゃえばそのインスタンスは自由に使えると思ったら大間違い。白い画面になっちゃいますのでご注意を。

それと、よくFlashの入門書は何がいいか聞かれることが多いのでご参考までに。。。
やっぱおしえて!シリーズでしょうねぇ。
アニメーションからわからなかったら「おしえて!!FLASH 8」、ActionScriptを強化したいなら「おしえて!!FLASH 8 ActionScript」がおススメです。
posted by BigMoonEz at 23:29 | Comment(0) | TrackBack(0) | Flash | このブログの読者になる | 更新情報をチェックする