• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • 鼠标划过:彩色变黑白效果(as3.0)
  • 来源: 作者:horidream 2008-03-19 【

先看原图片:


相关代码:

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);


}
}
}
}
}

效果源文件下载: Lesson_04鼠标划过变黑白.rar



上一篇:as3中Error#2037的原因   下一篇:有关Tween类的效果演示实例(as3.0)
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)