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

パスワード:


パスワード紛失

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

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tomochan
Åê¹ÆNo.38272
投稿日時: 2008-3-30 19:00
半人前
居住地: サッポロ
投稿: 37
使用環境:
XP FLASH PRO CS5
Re: 読み込んだビットマップの透過を判別したい
ありがとうございます
まず実際に試してみて
結果を報告させていただきます!!
永井勝則
Åê¹ÆNo.38265
投稿日時: 2008-3-30 1:55
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
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
Åê¹ÆNo.38260
投稿日時: 2008-3-29 13:59
半人前
居住地: サッポロ
投稿: 37
使用環境:
XP FLASH PRO CS5
読み込んだビットマップの透過を判別したい
複数のBMPデータを取り込んでムービークリップ内に格納してあります

このBMPデータをドラッグアンドドロップしたいのですが、画像の一部は透過処理されており、この透過部分においてはその効果を無効にしたいのです。

どういったキーワードで過去ログを検索したらよいかもいまいちわからないもので、ポストしました。

もしヒントになる過去記事じゃ検索ワードがあったり
方法そのものを教えていただける方がいましたらお願いします!
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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