「Movieクラス」の版間の差分

提供: LWF Wiki
移動: 案内検索
(Movieの深度を取得する)
(Movieの深度を取得する)
111行: 111行:
 
  <別のMovieインスタンス>.attachMovie(movie);
 
  <別のMovieインスタンス>.attachMovie(movie);
 
==Movieの深度を取得する==
 
==Movieの深度を取得する==
attachMovie等で動的に配置されたMovieは深度が設定されています。</br>
+
attachMovie等で動的に配置されたMovieは深度が設定されています。<br/>
 
その深度の値は下記のように取得することができます。<br/>
 
その深度の値は下記のように取得することができます。<br/>
 
  //Movieの深度
 
  //Movieの深度

2013年9月7日 (土) 02:25時点における版

目次

Movieクラスとは?

MovieクラスはFlashのムービークリップに相当します。
javascriptを用いることでMovieを制御したり情報を得たりすることができます。

Movieを作る

Movieクラスを作成するには主に2つの方法があります。

  • Flashで静的に配置する。

Flashのタイムライン上にムービークリップを配置することで作成します。
インスタンス名を設定することでjavascriptで参照得ることもできます。

  • javascriptを用いて動的に生成する。

下記のコードでFlashのライブラリに存在するムービークリップを子Movieとして動的に配置することができます。
戻り値として生成されたMovieの参照を取得することができます。

<Movieインスタンス>.attachMovie(<リンケージ名>, <配置後のMovieの名前>, <オプション(省略可)>);

//sample
var movie = this.attachMovie("hoge", "piyo");

上記のthisは、フレームスクリプトが記述されているムービークリップ自身になります。
なので、上記の例は自身にリンケージ名"hoge"のムービークリップを"piyo"という名前の子Movieとして配置します。

Movieを移動させる

Movieをjavascriptで移動させるサンプルです。

//movieをx:100,y:100に移動させる
<Movieインスタンス>.x = 100;
<Movieインスタンス>.y = 100;

//movieをx:50,y:50に移動させる
<Movieインスタンス).moveTo(50,50);

//movieを現在地からx+200 y+50する
<Movieインスタンス>.move(200,50);

Movieを回転させる

Movieをjavascriptで回転させるサンプルです。

//movieを45度回転させる
<Movieインスタンス>.rotation = 45;

//movieを現在の角度から-20度回転させる
<Movieインスタンス>.rotate(-20);

Movieを拡大縮小させる

Movieをjavascriptで拡縮させるサンプルです。

//movieの横スケールを2倍にする
<Movieインスタンス>.scaleX = 2;

//movieの縦横スケールを2倍にする
<Movieインスタンス>.scaleTo(2,2);

//movieの現在のスケールに設定した値を加算する
<Movieインスタンス>.scale(0.1, 0.1);

Movieを反転させる

Movieを反転させるにはscale値をマイナスに設定します。

//movieを左右反転する
<Movieインスタンス>.scaleX = -1;
//movieを上下反転する
<Movieインスタンス>.scaleY = -1;

Movieを半透明にする

Movieのアルファ(透明度)を設定します。0で透明 1で不透明になります。

//movieを半透明にする
<Movieインスタンス>.alpha = 0.5;

完全に非表示したい場合はalphaよりvisibleを使用してください。
alpha=0; は visible=false より描画負荷がかかってしまいます。

Movieを非表示にする

Movieの表示状態を設定します。

//movieを非表示する
<Movieインスタンス>.visible = false;
//movieを表示する
<Movieインスタンス>.visible = true;

動的にMovieを生成する

Movieにライブラリに存在するムービークリップを子Movieとして配置するサンプルです。

<Movieインスタンス>.attachMovie(<リンケージ名>, <配置後のMovieの名前>, <オプション(省略可)>);

//movieを子として配置し参照を取得。 生成時に非表示状態を設定する。
var movie = this.attachMovie("hoge", "piyo", {
    "load":function(){
        this.visible = false;
    }
});

第3引数のオプションは省略することもできますが、設定することで特定のタイミングで指定した関数を実行することができます。

オプション名 実行タイミング
load movieが生成されたタイミング。
この時点では、まだタイムラインの制御などは行うことができません。
postLoad movieの生成が完了したタイミング。

動的に生成したMovieを破棄する

動的に配置されたMovieを破棄するサンプルです。タイムライン上に静的に配置されたMovieには適用できません。

//自身を親から破棄する
<Movieインスタンス>.removeMovieClip();

//子のMovieを破棄する
<Movieインスタンス>.detachMovie(<破棄するMovieインスタンス>);

破棄したあともmovieインスタンスは残っていますが、再attachすることはできません。

//NG
var movie = this.attachMovie("hoge","piyo");
movie.removeMovieClip();
this.attachMovie(movie);

別のMovieに再attachしたい

動的に配置されたMovieは別のMovieに再attachすることができます。
その場合、前にいた場所からはいなくなり、新しく指定してたMovieの子Movieとして扱われます。
以下がサンプルです。

//movieを配置
var movie = this.attachMovie("hoge","piyo");

//別のmovieの子movieとして配置
<別のMovieインスタンス>.attachMovie(movie);

Movieの深度を取得する

attachMovie等で動的に配置されたMovieは深度が設定されています。
その深度の値は下記のように取得することができます。

//Movieの深度
<Movieインスタンス>.depth;

※上記のプロパティは読み取り専用です。書き換えると不具合の原因になる可能性があるので書き換えないでください。

Movieの深度を変更する

Movieにブレンドを適用する

Movieにマスクを適用する

Movieのステージ上の座標を取得する

Movieの名前を取得する

Movieの親Movieを取得する

Movieの再生状況を取得する

Movieの総フレーム数を取得する

Movieにトゥイーンクラスを適用する

Movieに空の子Movieを追加する

Movieにイベントリスナーをセットする

Movieにイベントを送信する

Movieのサイズを取得する

Movieのタイムラインを操作する

Movieの子Movieを検索する

Movieの所属するLwfを取得する