MEMO



ActionScript 2.0 の [loadMovie] コマンドを使用すると、外部の SWF ファイルや画像を MovieClip や 、またはほかのレベル(level number)に読み込むことができます。

[loadMovie] には以下のように2 つの異なる形式があります。

[MovieClip.loadMovie]
ムービークリップのインスタンスに外部コンテンツを読み込む場合は、[MovieClip] の [loadMovie] メソッドを使用することを推奨します。このメソッドは読み込み元のムービークリップから直接呼び出され、コンテンツの URL を送信します。

myContainer.loadMovie("myExternalMovie.swf");

読みこまれるコンテンツの URL には絶対パスと相対パスのいずれも使用することができます。読み込みの際、コンテンツはあらかじめ指定されたムービークリップのコンテナの範囲内に表示されます。

その際、他の一般的なプロパティと同様に、ムービークリップの位置はそのまま維持されますが、ムービークリップの内部で定義されているカスタムプロパティや関数が、新しいコンテンツに置き換えられることによって機能しなくなります。

([onRelease] のようなコードとイベントハンドラも含まれます。)そのため、読みこまれるムービークリップに対して [onLoad] のイベントハンドラを使用しても動作しません。

この現象は、[MovieClipLoader] クラスを使用することによって回避することができます。

[MovieClip.loadMovie] の詳細については、Flash ヘルプを参照してください。


[loadMovie]/[loadMovieNum]
[loadMovie] コマンドは、グローバル関数としても使用することができます。

この関数では、外部コンテンツと読み込み元のコンテンツの URL という 2 つのパラメータが必要です。

読み込み元のパラメータは文字列と参照値のいずれかで指定します。

以下はどちらも「インスタンス名」を「myContainer」 と指定しているムービークリップに、「myExternalMovie.swf」という SWF ファイルを読み込むコードになります。

loadMovie("myExternalMovie.swf", myContainer);
loadMovie("myExternalMovie.swf", "myContainer");

[loadMovie] のメソッドを使用することで、Flash Player の異なった階層にコンテンツを読み込むことが可能です。

Flash Player の階層とはプレイヤーにおけるレイヤーのようなもので、異なる複数のムービーを配置することができます。

階層ごとに異なる root が参照されるため、他の階層にあるムービーから独立した状態で [_lockroot] を使用せずに再生することができます。

レイヤー番号に続く [_level] の番号を使用して ActionScript 内の階層を参照することができます。

[level 0] または [_level0] のムービーが最初に Flash Player に読みこまれます。

階層はさらにその上に追加することができます。

以下の loadMovie への呼び出しは「myExternalMovie.swf」ファイルを、Player で再生中のムービーの上にある level 1 に読み込みます。

loadMovie("myExternalMovie.swf", "_level1");

[loadMovie] 機能の変化形で、グローバル関数を使用したものが [loadMovieNum] です。

これは [loadMovie] と似ていますが、[loadMovieNum] ではレベルをターゲットに設定します。

さらに、ターゲットの設定は、レベルの名前ではなく数字の部分を使用します。例えば、外部 SWF を [_level 1] に読み込むには、以下のコードを使用します。

loadMovieNum("myExternalMovie.swf", 1);


[_lockroot] を使用して [_root] の競合を防止します
[_root] は常に階層の最上位のタイムラインを参照するため、外部ムービーを他のムービークリップ内に読み込む場合、読み込まれたムービークリップが参照する [_root] が変更されます。

読みこまれるムービークリップのタイムラインで [_lockroot] プロパティを true に設定することによって、この動作によるトラブルを回避することができます。この設定によって、読み込み側のムービーの [_root] を参照せずに、ムービー自身の [_root] を参照できるようになります。

// in the main timeline of the movie to be loaded this._lockroot = true;

 注意 : [_lockroot] プロパティは、Flash Player 7 以降にパブリッシュする場合のみに有効です。


Adobeサポート






MEMO



まずは、他のswfを読み込む場所作り。
新規シンボルを作ります。

Flashに他のswfを読み込む


Flashに他のswfを読み込む



インスタンスに名前を付けておくことが重要。
この場合は「loadpoint」

そしてボタンのASは下記


on (release) {
loadMovie("001.swf",_root.loadpoint);
}


_root ってのはステージを意味し、loadpoint は空のムービークリップに付けたインスタンス名。
なので、「ステージ上にある空のインスタンス「loadpoint」に"001.swf"をロードします」の意。

ロードしたいswfを解除したい時は新しいボタンを作り、ASを書き込む。


on (release) {
unloadMovie(_root.loadpoint);
}





MEMO



製作したFlashをパブリッシュした時に、Flashが永遠にループ再生になって止まらない時ありませんか?
そんな時は、最終フレームに「キーフレーム」を作り、ASにこれを打ち込むだけで解決デス。

this.stop();






MEMO



複雑なtableダグ。



複雑なtable-1

<table border="1">
<tr>
<td rowspan="2"> A</td>
<td rowspan="2"> B</td>
<td colspan="2"> C</td>
</tr>
<tr>
<td> D</td><td> E</td>
</tr>
<tr>
<td rowspan="2"> F</td>
<td> G</td>
<td> H</td>
<td> I </td>
</tr>
<tr>
<td> J</td>
<td> K</td>
<td> L</td>
</tr>
<tr>
<td> L</td>
<td> M</td>
<td> N</td>
<td> O</td>
</tr>
</table>


この構造です。


複雑なtable-3


A(赤枠)とC(薄紫枠)の説明。

この複雑に見えるtableの構造はこのようになってます。


複雑なtable-2

A = a1 + a2 です。(上下の枠を合わせる)

C = c1 + c2 です。(左右の枠を合わせる)


書き方はソースの通り。


Aの場合。

<td rowspan="2"> A</td>

下の枠とあわせて2個分の枠をつくりますよ!ってことです。

もし

<td rowspan="3"> A</td>

と書くと、下に「3個」合わせますよ!ということになります。


Cの場合。

<td colspan="2"> C</td>

右に2個合わせます!です。




リアル忙しくて死にそうです.....。

現実逃避BLOG。