[DIALY] KINGA 09
(数時間早いですが)今年もよろしくお願いいたします。
2009年はきっと一層のがんばり時です。私も皆さまも。
よき年になるように心からお祈り申し上げます。丑年。

(数時間早いですが)今年もよろしくお願いいたします。
2009年はきっと一層のがんばり時です。私も皆さまも。
よき年になるように心からお祈り申し上げます。丑年。

2008年は、個人的(浦和のことも含めて)にもそうなんだけど、世の中的に凄くそういう年だったんじゃないだろうかと思っている。今年の「混沌」は、来年の「変革」への布石だと思いたい。しっかりと今年を振り返って、きちんと課題と対面して、歯を食いしばって頑張らないといけない、そんな2009に戦々恐々としながらも、ワクワクした思いでいる今日この頃。
といってもなかなか仕事納めができないのではあるが…(涙;)
明日からの休み(予定、汗;)のうちの2日間、「グラデーション」と「フォント」のことだけを考えて過ごす日をつくろうと思った。この2つが今実に興味深い。何故だかしらんが。
ステージリサイズ時のヤツ。
※パブリッシュのHTML設定でサイズを縦横100%にする。
これも後でまとめよう。
画面中央寄せ。
【1】まず、そのFLASHステージの設定をする。
ちなみに設定できるのは以下、
●スケールモードを設定する
StageScaleMode.EXACT_FIT; 縦横比を変えてフィット
StageScaleMode.NO_BORDER; 縦横比を変えずにフィット
StageScaleMode.NO_SCALE; 100% 表示
StageScaleMode.SHOW_ALL; すべて表示
●整列位置を指定する
StageAlign.TOP_LEFT; 上 左
StageAlign.TOP; 中央
StageAlign.TOP_RIGHT; 上 右
StageAlign.LEFT; 中央 左
値なし 中央 中央
StageAlign.RIGHT; 中央 右
StageAlign.BOTTOM_LEFT; 下 左
StageAlign.BOTTOM; 下 中央
StageAlign.BOTTOM_RIGHT; 下 右
そんで、外部クラスは
クラスを呼び出すときは
です。
Loaderクラスで読み込んだ外部SWFは、Loaderクラスを経由(?)してるので、単純なターゲットパスを書けないみたい。AS2では読み込み先のターゲットMC名を指定すればいけたのに…。
以下、親から子を参照する時
loaderクラスのcontentをMovieClipにキャスト。よくわかんないけど「this.child_mc」みたいにthisをつけるとエラーになった。
前回もやったけどLoaderクラス。
ローディングバーならばPROGRESSイベントでいける。ENTER_FRAME使おうと思いがち。
全容は下記。
ふーむ。
それからいつも忘れるのは
カスタムクラスを呼び出す(インスタンスを作る)時にvarをつけること。いっつも、ほんとにいっつも忘れる。
何度も分からなくなるので
int:正負の整数
uint:正の整数
Number:数字全般(少数含む)
だから
いい加減憶えろや。
Progressionを勉強中。ことさら便利になったとは思わないが、ASをきちんと管理できて整理整頓されるので、なんだかデキル奴になった気分。
ところで、ダイナミックテキストを使ったMCをリンケージして、テキスト関連のパッケージをインポートしていないクラスを適用すると、型のエラーが出た。当たり前のようでいてよく分からないのは、実は拡張するクラスの元に既にテキスト関連のパッケージがインポートされているのと、されていないのがあるからだろうか。そこら辺が分かっていないと「あっちではOKなのに、なんでこっちはダメなのよ」って混乱が発生する。
…のだろうか?そんなことないだろう?う~ん、しばらくFLASHから離れてしまった者としては推測の域を出ない。詳しい人に教えてもらおう。
とりあえずダイナミックテキストを静止テキストにしたらエラーは消えた。
Index クラスはデフォルト状態で CastDocument クラスを継承しています。CastDocument クラスは、ドキュメントクラスとして必要となる様々な機能が追加された MovieClip クラスのサブクラスです。
---
HTML サイトでページを順々と巡っていくのと同じように、Progression™ ではシーンを巡回しながらコンテンツを閲覧させることになります。シーンを扱うには、SceneObject クラスを使用します。
IndexSceneにFeatureSceneを追加(記述)したとすると、構造的にはIndexSceneの下の階層にFeatureSceneを置いたことになる。従ってパスは/IndexScene/FeatureSceneとなる。
---
SceneEvent.INIT イベント
移動先として指定したシーンに到着した瞬間に発生
SceneEvent.GOTO イベント
現在のシーンから移動する瞬間に発生
SceneEvent.LOAD イベント
目的地のシーンが自身もしくは子シーンを示している場合、移動処理時に階層が変更された瞬間に発生
SceneEvent.UNLOAD イベント
目的地のシーンが親シーンを示している場合、移動処理時に階層が変更された瞬間に発生
---
オーバーライド (override)とは、スーパークラスで定義されたメソッドをサブクラスで定義しなおし、動作を上書きすることである。
---
コンストラクタで指定している CastButton クラスの sceneId プロパティが、ボタンがクリックされた際の移動先シーンとなります。この設定は特に必要がない限りはコンストラクタで行うようにしてください。
---
IndexクラスとIndexSceneクラスの違いは、Indexが全てを統括しているのに対して、IndexSceneはTOPページのみを管理している、ということか?
---
コマンドを設定する際通常のフォーマットとの最大の違いは
* 1 つの処理につき、インスタンスを 1 つ作成する。
* どのようなコマンドの場合にも、実行時には必ず execute() メソッドを使用する。
この 2 点になります。
イベント中に処理させるためには、SceneObject インスタンスの addCommand() メソッドにコマンドを登録。addCommand() 経由で登録されたコマンドは、イベントの流れに応じて自動的に実行されるので、execute() メソッドを実行する必要はありません。
---
addCommand() メソッドで登録したコマンドはイベント発生が完了した後にまとめて処理されるために、イベント内で通常の手続き通りに実行されている removeChild() メソッドの方が先に処理されてしまっていることが原因です。この問題を解決するためには removeChild() メソッド自体を、コマンド処理として設定してあげる必要があります。
このようにコマンドを , で区切って続けて登録することで、前のコマンド処理の終了を待った連続実行が可能になります。
---
大量のアニメーションを設定しようとすると、シーンイベントがコマンドだらけになってしまいます。設定したいアニメーションが表示オブジェクトに紐付いたモノであれば、その表示オブジェクト自体に設定してしまう方が設計としてもよりシンプルです。
表示オブジェクト自体にイベントフローと連動させたコマンド処理が設定できるようになるキャストオブジェクトについてご説明します。
CastEvent.CAST_ADDED イベント
キャストオブジェクトが AddChild コマンド、AddChildAt コマンド、AddChildAtAbove コマンド経由でディスプレイリストに追加された瞬間に発生
CastEvent.CAST_REMOVED イベント
キャストオブジェクトが RemoveChild コマンド、RemoveAllChildren コマンド経由でディスプレイリストから削除された瞬間に発生
ショーケースを見ると、いろいろな人が開発の効率化を絶賛しているので、今更ながらオデもこいつを使った方が良いと思われ。勉強勉強。