发新话题
打印

[讨论] AS3,鼠标划过变黑白的效果

本主题由 8765004 于 2008-3-6 17:02 设置高亮

AS3,鼠标划过变黑白的效果

代码,文件,可下载附件 Lesson_04鼠标划过变黑白.rar (61.95 KB)
复制内容到剪贴板
代码:
package {
import flash.display.*;
import flash.events.*;
import flash.ui.Mouse;
import flash.net.*;
public class TurnGray extends Sprite {
private var myURL:String = "images_01.jpg";
private var originalBitmapData:BitmapData;
private var squareBitmapData:BitmapData;
private var grayBitmapData:BitmapData;
private var loaded:Boolean = false;
private var loader:Loader;
private var pic:Bitmap;
private var color:uint;
private var gray:uint;
private var R:uint;
private var squareLength:int = 30;
private var xMouse:Number;
private var yMouse:Number;

public function TurnGray():void {
download();
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMousemove);
function onMousemove(e:MouseEvent):void {
bitmapDataGray();
e.updateAfterEvent();
}
}
public function download():void {
loader = new Loader();
loader.load(new URLRequest(myURL));
loader.contentLoaderInfo.addEventListener(Event.INIT,onLoaded);
function onLoaded(e:Event):void {
loaded = true;
originalBitmapData = Bitmap(e.target.content).bitmapData;
pic = new Bitmap(originalBitmapData);
addChild(pic);
}
}
private function bitmapDataGray():void {
var xMouse = mouseX;
var yMouse = mouseY;
for (var i:int = (xMouse-squareLength/2); i<(xMouse+squareLength/2); i++) {
for (var j:int = (yMouse-squareLength/2); j<(yMouse+squareLength/2); j++) {

color = originalBitmapData.getPixel(i,j);
R = (color>>16) & (0xff);
gray = R + (R<<8)+(R<<16);
originalBitmapData.setPixel(i,j,gray);


}
}
}
}
}
[ 本帖最后由 horidream 于 2008-3-6 09:49 编辑 ]

附件

test.swf (1.12 KB)

2008-3-6 09:44, 下载次数: 342

images_01.jpg (42.22 KB)

2008-3-6 09:43

images_01.jpg

TOP

好像应该发到AS3区。

TOP

TOP

不错的效果,

TOP

好象不用这么复杂吧。

TOP

楼主这个思路很不错的,如果让整个MC一下子变黑折,应用灰阶滤镜就可以了
var _array:Array=[0.3086,0.6094,0.082,0,0];
_array=_array.concat (_array);
_array=_array.concat (_array);
pic_mc.filters =[new ColorMatrixFilter(_array)];

TOP

招QQ空间flash设计人员

提示: 作者被禁止或删除 内容自动屏蔽

TOP

支持原创~~~~~~~
小站不断更新中……
www.hopboy.com
www.adobebar.cn

TOP

不错,如果笔触是散开的效果就更好了.

TOP

效果不错啊

TOP

呵呵,不错。回帖是美德。

TOP

发新话题