『Adobe Flash Professional』は『アドビ』より発売されているアニメーションソフト、マルチメディアソフト。
合併前はmacromediaから発売されていた。
Adobe Flash Player
アンインストーラー
■Flash Playerのアンインストーラー提供元URL(Adobeサイト内)
http://www.adobe.com/jp/shockwave/download/alternates/
テスト用のアーカイブ版 Flash Player
バージョンの古いFlashPlayerでの動作確認をする際に、古いFlash Playerをインストールしなければならないが、必ず現在のFlash PlayerをアンインストールしてからテストするFlash Playerをインストールする事。
■テスト用のアーカイブ版 Flash Playerの提供元URL(Adobeサイト内)
http://www.adobe.com/jp/support/kb/ts/228/ts_228683_ja-jp.html
設定
自動保存を解除するには(Flash CS 5.5以降)
[修正]>[ドキュメント...]で[ドキュメント設定]ウィンドウを開く。[自動保存]のチェックを外す。
自動リカバリを解除するには(Flash CS 5.5以降)
[Flash]>[環境設定...]>[一般]の[自動リカバリ]のチェックを外す。
TIPS
インクボトルツール/線無しの塗りに線を追加する場合
線無しの塗りに線を追加する場合はインクボトルツールを使用する。
線を伸縮させない場合
線を選択して[プロパティ]ウィンドウの[伸縮]のプルダウンで[なし]を選択する
ActionScript 3.0
ActionScript 2.0とのプロパティの違い
ActionScript 2.0の頃のプロパティは _ が付いていたが ActionScript 3.0ではなくなった。
プロパティによっては _ を取るだけではなく小文字を大文字に変更しなければならないプロパティもある。
_currentframe → currentFrame
_totalframes → totalFrames
名前空間
XMLに名前空間(xmlns)が設定されている場合は、ActionScriptにもnamespaseを設定しなければいけない。
また、名前空間は慣習によりURI(Uniform Resource Identifier:統一資源識別子)を指定する。
他の変数と違ってデータ型を宣言する事はできない。
1 2 |
namespace nspace= "http://example.com/namespace/" use namespace nspace; |
FashVarsの変数の受け取り方
ActionScript 3.0でHTML等からFlashVarsで変数を受け取るには、
loaderInfo.parameters[“FlashVarsの変数名“];
で参照しなければならない。
例えば参照する変数[flashvars]をflashvarsStringという新しい変数で文字列として受け取るには、
1 |
var flashvarsString:String = loaderInfo.parameters["flashvars"]; |
とすればいい。
Macでマウスホイールを動作させるには
Macでマウスホイールを動作させるにはSWFWheel Macライブラリを使用する。
カスタムクラスのソースパスの設定
作成したカスタムクラスはフォルダで整理しているので、flaファイルとカスタムクラスのファイルは同階層ではない。この場合は当然ながらコンパイルエラーが発生してしまうので、flaファイル側でソースパスの設定をしなければならない。
ソースパスを設定するには「パブリッシュ設定」のActionScript 3.0の設定ボタンをクリックして、「ActionScript 3.0 の詳細設定」ウィンドウを開き「ソースパス」のタブをクリックして、flaファイルからカスタムクラスが整理されているフォルダまでのパスを設定する。
パッケージのインポート
プレビューした時に「型が見つからないか、コンパイル時定数ではありません。」というエラーが出た場合、パッケージをインポートし忘れている事が考えられる。
パッケージのインポート一覧。
//マウスイベントを行う場合必要なパッケージ
1 2 3 |
import flash.events.MouseEvent; import flash.display.MovieClip; import flash.display.DisplayObject; |
//色を変更する際に必ず必要なパッケージ
1 2 |
import flash.geom.Transform; import flash.geom.ColorTransform; |
//URLエンコードの為に必要なパッケージ
1 |
import flash.utils.escapeMultiByte; |
//URLデコードの為に必要なパッケージ
1 |
import flash.utils.unescapeMultiByte; |
//JavaScriptと連携する為に必要なパッケージ
1 |
import flash.external.ExternalInterface; |
/*タイマーを使用する際に必ず必要なパッケージ*/
1 2 |
import flash.utils.Timer; import flash.events.TimerEvent; |
/*Tweener 特殊プロパティを使用する際に必ず必要なパッケージ*/
1 2 3 |
import caurina.transitions.Tweener; import caurina.transitions.properties.ColorShortcuts; ColorShortcuts.init();//ColorShortcutsを初期化 |
変数と定数
変数(var)は値を設定しなくても問題はないが、定数(const)は必ず値を設定しなければコンパイルエラーが発生する。
無限ループに使用するプロパティ
BGMのサウンド等、無限ループにしたい場合は、プロパティ
1 |
int.MAX_VALUE |
を設定する。
URLエンコードとURLデコード
URLエンコードを行う場合は escapeMultiByte() URLデコードを行う場合は unescapeMultiByte() を使用する。
1 2 3 4 5 |
import flash.utils.escapeMultiByte; import flash.utils.unescapeMultiByte; var sampleText = "サンプル"; var urlEncode:String = escapeMultiByte(sampleText); var urlDecode:String = unescapeMultiByte(urlEncode); |
ボタンとして作成したMovieClipにハンドカーソルを表示させるには
1 2 3 4 5 |
ButtonMC.addEventListener(MouseEvent.MOUSE_OVER, MouseClick); function MouseClick(OBJEvent:MouseEvent):void { trace("Click"); } |
ボタンとして作成したMovieClip(ButtonMC)に上記のようなイベントリスナーを設定すれば、MCはボタンとして機能するが、このままではボタンに触れても矢印のままで、ハンドカーソル(指カーソル)は表示されない。
イベントリスナーを設定しただけの場合
ボタンと作成したMovieClipにハンドカーソルを表示させるにはbuttonModeのプロパティをtrueに設定して追加する必要がある。
1 2 3 4 5 |
ButtonMC.buttonMode = true; ButtonMC.addEventListener(MouseEvent.MOUSE_OVER, MouseClick); function MouseClick(OBJEvent:MouseEvent):void { trace("Click"); } |
「buttonMode = true;」を設定した場合
MCが入れ子のボタン作成する場合
ActionScript3.0でMCが入れ子(MCの中にさらにMCがある)のボタンを作成した場合、子のMCもボタンとして機能してしまうので、ロールオーバーやロールアウトでボタンの表示を変更するようにしても動作しない。
解決するには「子のMCはマウスイベントを受け取らない」ようにしてやれば良いので、mouseChildrenのプロパティをfalseに設定する。また、カスタムクラス化している場合はコンストラクタに設定する。
1 |
mouseChildren = false; |
ボタンが無効にならないようにする処理
ActionScript3.0でMCのボタンを作成した場合、ボタンの上にMCを配置するとボタンが無効になってしまう。これを回避するにはボタンの上に配置したMCのmouseEnabledのプロパティをfalseに設定する。
1 |
mouseEnabled = false; |
タイマーを止める方法に関して
ActionScript3.0でタイマーを止める方法はいくつか種類がある。
//タイマーを一時停止(タイマーを再開すれば止めた時点から再開する)
タイマーオブジェクト.stop();
//タイマーをリセット(タイマーを再開すれば最初から再開する)
タイマーオブジェクト.reset();
//タイマーを解除
タイマーオブジェクト.removeEventListener(TimerEvent.TIMER, タイマーを実行しているメソッド);
Tweenerのプロパティ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
linear(イージングなし) easeInSine easeInCubic easeInCirc easeInBack easeOutSine easeOutCubic easeOutQuint easeOutCirc easeOutBack easeInOutSine easeInOutCubic easeInOutQuint easeInOutCirc easeInOutBack easeOutInSine easeOutInCubic easeOutInQuint easeOutInCirc easeOutInBack easeInQuad easeInQuart easeInExpo easeInElastic easeInBounce easeOutQuad easeOutQuart easeOutExpo easeOutElastic easeOutBounce easeInOutQuad easeInOutQuart easeInOutExpo easeInOutElastic easeInOutBounce easeOutInQuad easeOutInQuart easeOutInExpo easeOutInElastic easeOutInBounce |
lineStyle
lineStyleはGraphics メソッド 【lineTo() や drawCircle() など】に対する今後の呼び出しに使用する線のスタイルを指定する。
1 |
lineStyle(thickness:Number(線の太さをポイント単位で示す整数。有効な値は 0 〜 255), color:uint = 0(default = 0), alpha:Number = 1.0(有効な値は 0 〜 1/default = 1.0), pixelHinting:Boolean = false (default = false), scaleMode:String = "normal"(default = "normal") , caps:String = null, joints:String = null, miterLimit:Number = 3(有効な値は 1 〜 255/デフォルトは3):void |
lineStyleのscaleModeの種類
scaleModeはオブジェクトが拡大・縮小したときの線がどのように拡大縮小するかを指定できる。
(1)LineScaleMode.NORMAL(scaleMode:String = “normal”)
常に線の太さが拡大・縮小される (デフォルト)。
(2)LineScaleMode.NONE(scaleMode:String = “none”)
線の太さが拡大・縮小しない。
(3)LineScaleMode.VERTICAL(scaleMode:String = “vertical”)
垂直方向にのみ拡大・縮小する場合は、線の太さを拡大・縮小させない。
(4)LineScaleMode.HORIZONTAL(scaleMode:String = “horizontal”)
水平方向にのみ拡大・縮小する場合は、線の太さを拡大・縮小させない。
lineStyleのcapsの種類
capsは線の終端のキャップの種類を指定することが出来る。
(1)CapsStyle.NONE
(2)CapsStyle.ROUND
(3)CapsStyle.SQUARE
lineStyleのjointsの種類
jointsは線の終端のキャップの種類を指定することが出来る。
(1)CJointStyle.BEVEL
(2)JointStyle.MITER
(3)CJointStyle.ROUND
lineStyleのmiterLimit
miterLimitは線マイターが切り取られる限度を示す数値
有効な値は 1 〜 255でデフォルトは3。
小数点以下の処理(切り上げ、切り捨て、四捨五入)
小数点以下を切り上げる場合はMath.ceil();
小数点以下を切り捨てる場合はMath.floor();
小数点以下を四捨五入する場合はMath.round();
小数点以下を四捨五入して数値を文字列に変換する場合
ActionScript3.0で小数点以下を四捨五入して数値を文字列に変換するには、
Number.toFixed(0);
を使用する。
例えば
134.5666
を小数点第一位まで表示するには
var varNum:Number = 134.5666;
var varString:String = varNum.toFixed(1);
とする。
再び数値に変換するには
varNum = Number(varString);
を使用して再び数値に変換する。
ダイナミックテキストのアルファを設定する場合
ダイナミックテキストのアルファを設定する場合は文字を埋め込まなければ、alphaを0(TextFiled.alpha = 0;)に設定したとしても表示されたままになる。
変数のStringの小文字を大文字化する場合
変数のStringの小文字を大文字化する場合はtoUpperCase()メソッドを使用する。
1 2 3 |
var str:String = abc; var strUpperCase:String = str.toUpperCase(); trace(strUpperCase:String); // ABC |
TABキーを無効化にする場合
TABキーを無効化にする場合はstageFocusRectをfalseにする。
1 |
stage.stageFocusRect = false; |
右メニューの非表示
右メニューを非表示にするにはHTML側でmenu=false;にするか、
showDefaultContextMenuをfalseにする。
1 |
stage.showDefaultContextMenu=false; |
備忘録
Flashで描いたイラストをIllustratorに読み込むにはAdobe FXGで書き出す
[ファイル]>[書き出し]>[イメージの書き出し...]>書き出しのフォーマットをAdobe FXGにして書き出す。
Illustratorに配置で読み込む。
Photoshopファイルのインポート
Photoshopファイルのインポートでレイヤーのスタイルが近くなる設定は、
Flash側:加算/Photoshop側:覆い焼きカラー
Illsutratorファイルのインポート
■Flashにイラレファイルをインポートする際はIllsutratorの「線」を必ずアウトライン化する
Illsutratorは「環境設定」に「線幅と効果も拡大縮小」という設定があり、拡大縮小する際は線幅も拡大縮小するが、Flashは拡大縮小しても線幅が常に一定なので、縮小したときはイラストが線に潰れてしまい、拡大した際は「線」の太さがそのままなので、目立たなくなってしまうので、Flashにイラレファイルをインポートする際はIllsutratorの「線」を必ずアウトライン化する。
■Illsutrator固有の機能は使わない
一般的な機能(グラデーション等)はFlashにもあるので大丈夫だが、Ilutrator固有の機能(メッシュ等)は、Flashに無いため反映されない。
■パーツごとに必ずレイヤー分けすること
ひとつのレイヤーで統合されているといちいち分解しなければならないので。
■カラーモードはRGBに設定する事
FlashがサポートしているカラーモードはRGBなので、IllsutratorのカラーモードはRGBに設定しておく。
※CS3からCMYKでもRGBに変換してくれるが、色見が変わる場合がある。
■色見サンプルの書き出し
イラレファイルをFlashにインポートすると色見が変わってしまう時があるので、色見の確認用として、jpgなどを色見のサンプルとして書き出しておく。
ActionScript 2.0/XMLとの連携
XMLファイルに特殊文字が入っていると、attributes construct error(構文エラー)が発生して、Flashに読み込んだ際にノードの値を取得できずundefinedになってしまう。
attributes construct error(構文エラー)を避ける為にはXMLファイルはURLエンコードする必要がある。また、XMLファイルの文字コードはutf-8にする。
URLエンコードしたXMLファイルをFlashに読み込み後にデコードするにはunescape関数を使用する。
ActionScript 2.0/PHPとの連携
sendAndLoad関数を使用してPHPとデータの送受信を行うには、PHPからFlsahにデータ返信しなければならないが、それはPHP側でecho関数かprint関数を使用して出力すればいい。
16 ビットカラーのディスプレイモニタでの問題点
透明領域のPNG イメージを使用した場合、16 ビットカラーのディスプレイモニタで見ると、PNG イメージの透明領域がゴースト表示(完全に透明な領域に半透明のイメージが表示される)されてしまう。
回避方法は、単色を 1 つの色のみ使用するグラデーションに変更(常時ディザ処理がPNGイメージに対して行われ、ゴースト表示されるのを回避する)するか、PNGイメージを読み込み後に、背景の透明を削除(ゴースト表示される領域が削除されるため、目立たなくなる)するしかない。
データベース
OS
Mac OS X、Microsoft Windows