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に戻してやれば通常の写真に戻ります。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円

加藤 康祐 / 企画・設計

1980年1月12日生まれ。1998年よりデザイン会社のパートタイムアシスタントとしてWeb制作を経験。2005年に独立、フリーランスとして、企業、個人、NPO、独立行政法人など、様々な領域でのITやデザインによるサポート業務に携わる。2018年、加藤康祐企画設計を開業。これまでの経験を活かし、より広い視野でクライアントの問題解決に取り組み、クライアントと一緒になって新しい価値創出をし、平静な社会の実現を目指す。

加藤康祐企画設計

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