2009年3月6日

flash 定数

ActionScript 3.0では、よく使うがわかりにくい数字に名前がついている。例えば、キーコード等、Aは〜コードでxxと答えられるだろうか。キー配列で何、文字コードで何、等等いくつも呼び方があったりする。

ActionScript 3.0では、これを定数化されていて、非常に便利だ。(まぁ、こんどはそっちを覚えないといけないっていうのはありますね。でも幾分か覚えやすくなってます。)

Event


Event.INIT
Event.OPEN
Event.COMPLETE
Event.UNLOAD

MouseEvent


MouseEvent.CLICK
MouseEvent.DOUBLE_CLICK ( .doubleClickEnabledをtrueに設定する必要があります。)
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_UP
MouseEvent.MOUSE_OVER 子表示オブジェクトを区別する。
MouseEvent.MOUSE_OUT
MouseEvent.ROLL_OVER 子表示オブジェクトを区別しない。
MouseEvent.ROLL_OUT
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_WHEEL

KeyboardEvent


KeyboardEvent.KEY_DOWN
KeyboardEvent.KEY_UP

キーコード関連


e:KeyboardEventとして、e.keyCodeプロパティとの比較等に使います。
Keyboard.LEFT
Keyboard.RIGHT
Keyboard.UP
Keyboard.DOWN
Keyboard.TAB
Keyboard.BACKSPACE
Keyboard.F1 ~ F15
Keyboard.DELETE
Keyboard.SPACE
Keyboard.NUMPAD_0 ~ NUMPAD_9
Keyboard.NUMPAD_ADD
Keyboard.NUMPAD_DECIMAL
等、多数。

KeyboardEvent.keyLocationで、キーボード上のキーの配置も調べる事ができます。
KeyLocation.STANDARD 普通のキー
KeyLocation.LEFT 左側(シフト等)
KeyLocation.RIGHT 右側(シフト等)
KeyLocation.NUM_PAD テンキー

KeyboardEvent.altKey:bool
KeyboardEvent.ctrlKey:bool
KeyboardEvent.shiftKey:bool
KeyboardEvent.capsLock:bool
KeybaordEvent.numLock:bool

URLRequest


.methodプロパティ
URLRequestMethod.GET
URLRequestMethod.POST

IMEConversionMode


IMEConversionMode.JAPANESE_HIRAGANA
IMEConversionMode.JAPANESE_KATAKANA_FULL
IMEConversionMode.JAPANESE_KATAKANA_HALF
IMEConversionMode.ALPHANUMERIC_FULL
IMEConversionMode.ALPHANUMERIC_HALF
IMEConversionMode.UNKNOWN 設定不可。読み取り専用。

flash actionscript 3.0 外部ファイルのロード

アクションスクリプトを使って行う作業で、一番多く使うのが、外部ファイルのロードだと思う。これは、本当にしっかり理解する必要があるが、解説が少ない気がするので書いておく。

--------クラス:Loader


これは、その名の通りロードするためのクラス。何をロードするかといえばURLで指定したSWF, JPEG, PNG, GIF等だ。
URLLoaderクラスというのもあって、こちらは変数、テキスト、GET/POST受信とかに使われる。

読み込んだコンテンツを入れる箱なので、myLoader.contentでコンテンツにアクセスします。
読み込みが完了した後(イベントに関しては下を参照)に、
myLoader.content.width *= 30/100;
等として読み込んだコンテンツ(写真等)を、実際の物の30%に縮小したりする事ができます。

--------クラス:URL Request


URLの指定は、AS3.0では、URLRequestオブジェクトを介して行う。URLRequest("文字列")といった具合だ。

Loader、URLLoaderともに、

myLoader:Loader = new Loader(new URLRequest("image1.jpg");

という形で、生成する。

--------クラス:LoaderInfo


慣れれば簡単だけど、つかみにくいのがこれだと思う。LoaderInfoオブジェクトとLoaderの関係。
LoaderInfoは、パラメータで、Loaderクラスが持っているオブジェクトです。

myLoader.contentLoaderInfoというプロパティに実はすべて格納されていて、イメージ読み込み程度ならわざわざ作る必要がなかったりもします。(生成する必要がある例は研究中/募集中)


--------イベント処理入門


LoaderInfoはパラメータと言いましたが、それに対応したイベントがあります。
myLoader.addEventListener(イベント, イベント処理関数) を使って、他のオブジェクト等を操る事ができます。
function myEvent(e:EventType):void {}の様に、定義します。
イベントによってe:EventTypeのEventTypeが変わるので注意が必要です。

Event.OPEN


ロードが開始された時に送出

ProgressEvent.PROGRESS


進行状況の把握に使う

イベント処理関数内で、
e.bytesLoaded 既に読み込まれたバイト
e.bytesTotal  読み込む総バイト数
でそれぞれ取得する事ができます。

Event.COMPLETE


ロード完了時に送出

他にも、

Event.INIT (アクセス可能になった)、
IOErrorEvent.IO_Error(エラー情報)

等があります。(ドキュメント参照してください)



--------注意点


他のドメインからの読み込みは原則的にできません。AS3.0 でのセキュリティー設定と、参照元サーバにアクセス許可ファイルを設置する必要があるようです。

ふわっと持ち上げる

このサイト、シンプルなんですが、それだけで終わらせない何かがありますね。
http://www.morellc.com/

例えば、力強く一本の横線が描かれていますが、メインコンテンツ表示欄に工夫があります。文章を書いたりするのに紙を使いますが、その紙が地面に落ちる寸前の柔らかい空気感のイメージをモダンな感じで加えています。メインコンテンツ部の影が現われるのは、横線の周りだけ、そして大背景と同化部を大きくするという手法にしています。

Webデザインでは背景をどうするかが結構難しいと思いますが、コンテンツと背景をシームレスにつなげて、なおかつコンテンツ部にアクセントをつけたという点が学びどころではないでしょうか。

配色、色の探し方

デザインセンスを磨く方法の一つとして色について勉強するというのがある。

カラーコーディネイトなんていったりもするのかも知れないが、そこまで勉強する気がなかったり、まだまだ勉強中で、もしくは、刺激を探していて、他の人の作品を見てどういう色なのか、どういう風に使われるかを研究したい時、このサイトをオススメする。

http://www.colourlovers.com/

YouTubeではビデオが見れるけど、これはカラーコンビネーションがみれるサイトで、ユーザーの閲覧回数、お気に入り追加数等を含めて検索できる。又、雑誌やWebサイトのトレンドの配色例なんかも豊富に載っているので、これを参考にしてみるとワンランク上のデザインを実現できるかもしれない。