トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     読み込んだビットマップの透過を判別したい
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
knagai
Åê¹ÆNo.38265
投稿日時: 2008-3-30 1:55
職人
居住地: 白馬村
投稿: 796
使用環境:
Re: 読み込んだビットマップの透過を判別したい
何か工夫したらもっと簡単な方法があると思うのですが、
残念ながらBitmapDataを使う方法しか思いつきません。
これはライブラリにPNGファイルを読み込んでおいて、
それをBitmapData.loadBitmap( )でロードし、
MovieClip.attachBitmap( )でムービークリップ内に入れて、
BitmapData.getPixel32( )クリック先がでアルファ値を持っているかどうかを調べるという、実に回りくどい方法です。

import flash.display.BitmapData;
var linkageId:String = "libraryBitmap";
var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
trace(myBitmapData instanceof BitmapData);

var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());

mc.onPress = function():Void  {
	var alpha:String = (myBitmapData.getPixel32(this._xmouse, this._ymouse) >> 24 & 0xFF).toString(16);
	trace(">> alpha: "+alpha);
	if (alpha == "ff") {
		mc.startDrag();
	}
};
mc.onRelease = mc.onReleaseOutside=mc.stopDrag;


あと”ちなみに情報”ですが、ActionScript 3.0では、透明度など関係なく、
狙い撃ちしたいムービークリップを親のムービークリップに入れると、
そのムービークリップを狙い撃ちにできます。


mc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownListener,false,0,false);
mc.addEventListener(MouseEvent.MOUSE_UP,onMouseUPListener,false,0,false);
mc.addEventListener(MouseEvent.MOUSE_OUT,onMouseUPListener,false,0,false);

function onMouseDownListener(e:MouseEvent):void {
	trace(e.target.name);
	if (e.target.name=="alpha_mc") {
		mc.startDrag();
	}
}

function onMouseUPListener(e:MouseEvent):void {
	mc.stopDrag();
}


----------------
永井勝則:
himco.jp :

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   読み込んだビットマップの透過を判別したい tomochan 2008-3-29 13:59
   » Re: 読み込んだビットマップの透過を判別したい knagai 2008-3-30 1:55
       Re: 読み込んだビットマップの透過を判別したい tomochan 2008-3-30 19:00

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops