2011/11/29

ActionScript 3.0でマウスオーバー時に色を写真にをかぶせてやるような処理

ActionScript 3.0でマウスオーバーで色を写真にかぶせてやるような処理です。マニュアル見てみると結構難しそう。。。

flash.geom.ColorTransform (ActionScript 3.0)

ただこれ、意外と簡単です。ようはRGBを255で割ってやれば良いです。例えば#806243の色のレイヤーを透過度85%で被せたい、というような場合。#806243はRGBにすると128,98,67です。

mc.addEventListener(MouseEvent.MOUSE_OVER, colorLayer);
function colorLayer_i(event:MouseEvent):void {
	var _target:MovieClip = MovieClip(event.currentTarget);
	var colorTransForm:ColorTransform = new ColorTransform(0.5,0.38,0.26,0.85);
	_target.transform.colorTransform = colorTransForm;
}

128 / 255 = 0.5
98 / 255 = 0.38
67 / 255 = 0.26

というような具合でColorTransformに代入してやれば宜しい。0.85は透過度ですね。これで割と写真に綺麗に色がかぶります。ちなみに、マウスアウトした時に色を戻したいみたいな場合。

mc.addEventListener(MouseEvent.MOUSE_OUT, removeLayer);
function removeLayer(event:MouseEvent):void {
var _target:MovieClip = MovieClip(event.currentTarget);
var colorTransForm:ColorTransform = new ColorTransform(1,1,1,1);
_target.transform.colorTransform = colorTransForm;
}
[/php]

みたいに値を1に戻してやれば通常の写真に戻ります。

加藤 康祐 / 企画・設計

プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram

(2012-10-5)
売り上げランキング: 14,705
100円