サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

オンライン状況
11 人のユーザが現在オンラインです。 (10 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 11

もっと...

ウェブログ カレンダー
« « 2010 9月 » »
29 30 31 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 1 2

最新ブログ記事

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2007/01/18 Thu
 BitmapDataを基礎から学ぶのだ! (2)
カテゴリ: flash : actionscript : 
BitmapDataクラスを学習しよう!
いままで何となく使ってきたが、基礎からやり直すのだ!

今回の課題は...。
BitmapData.loadBitmap(), MovieClip.attachBitmap() の2つ。

要 Flash Player 8 以上

ライブラリに、ビットマップ(リンケージ識別子: cat.jpg, summer.jpg, autumn.jpg) を用意。
また、ムービークリップ(リンケージ識別子: frog) も用意。
_root に、ムービークリップ(インスタンス名: display_mc) を配置。
display_mc は、空のムービークリップ。
また、ムービークリップ(インスタンス名: loadBtn, attachBtn, resetBtn) を配置。

_root 第1フレームに

import flash.display.BitmapData;

var data_bd:BitmapData;
var pictID:String = "cat.jpg";

function loadPict():Void {
    data_bd = BitmapData.loadBitmap(pictID);
    attachBtn.enabled = true;
}
function attachDisplay():Void {
    display_mc.attachBitmap(data_bd, 0);
}

attachBtn.enabled = false;
loadBtn.onRelease = function():Void {
    loadPict();
};
attachBtn.onRelease = function():Void {
    this.enabled = false;
    attachDisplay();
};
resetBtn.onRelease = function():Void {
    resetBitmapData();
};
function resetBitmapData():Void {
    data_bd.dispose();
    attachBtn.enabled = false;
}

と記述。


基本的な流れは、次の通り。

// ビットマップイメージを BitmapData オブジェクトとして読み込み
var data_bd:BitmapData = BitmapData.loadBitmap("cat.jpg");
// BitmapData オブジェクトをムービークリップに関連付け
display_mc.attachBitmap(data_bd, 0);


ライブラリにあるリンケージ識別子に対して、BitmapData.loadBitmap() すると、
BitmapData オブジェクト(data_bd)上に、ビットマップイメージ(cat.jpg)が描画される。
# ビットマップでないムービークリップは読み込めない。

しかし、これだけでは、BitmapData オブジェクトは見えない
# 上のswfでは、分かりやすく見えるようにしてある。

そこで、MovieClip.attachBitmap() を用いて、
BitmapData オブジェクト(data_bd)をムービークリップ(display_mc)と関連付けすると、
display_mc に描画したビットマップイメージが表示される。
# BitmapData.loadBitmap() してから、MovieClip.attachBitmap() しないと表示されない。


data_bd.loadBitmap("cat.jpg");

なんてスクリプトを記述すると、

**エラー**
静的メンバーには、クラスを通してのみ直接アクセスできます
    data_bd.loadBitmap("cat.jpg");

と、コンパイルエラーが出るよ。


loadBitmap (BitmapData.loadBitmap メソッド)

public static loadBitmap(id:String) : BitmapData

ライブラリ内の指定されたリンケージ識別子で識別されるシンボルのビットマップイメージ表現を含む、新しい BitmapData オブジェクトを返します。

使用できるバージョン
ActionScript 1.0、Flash Player 8
パラメータ
id:String
ライブラリ内のシンボルのリンケージ識別子。
戻り値
flash.display.BitmapData - シンボルのビットマップイメージ表現。



[修正] (07/10/11 Thu 18:51)
summer, autumn の loadBitmap が機能していなかったので、修正。


関連記事: Flash Professional 8 (1)
関連記事: 画像の色情報を取得する (1)
関連記事: 置き換えマップ効果 (2)
関連記事: BitmapDataを基礎から学ぶのだ! (1)
関連記事: BitmapDataを基礎から学ぶのだ! (2)
関連記事: BitmapDataを基礎から学ぶのだ! (3)
関連記事: BitmapDataを基礎から学ぶのだ! (4)
執筆者: ひろゆき (01:43)
ウェブログ | コメント (2) | トラックバック数 (0) | 閲覧数 (7078)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/608
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド
ひろゆき
投稿日時: 07/01/19 23:27  更新日時: 07/01/19 23:27
管理人
居住地: 東京密林
投稿数: 1626
 Re: BitmapDataを基礎から学ぶのだ! (2)
loadPict(); が正しいですね。
失礼しました。
ゲスト
投稿日時: 07/01/19 22:33  更新日時: 07/01/19 22:33
 Re: BitmapDataを基礎から学ぶのだ! (2)
(ゲストの ケウ さんからの投稿)

loadBtn.onRelease時の実行内容が
"drawPict();"になってますよ〜