文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院媒体动画FlashFlash代码实例:神奇的互动橡皮刷
精品推荐
特别推荐
·由浅入深学习Flash制作高射炮游戏
·由浅入深学习Flash制作高射炮游戏(续)
·遮照及文字遮照的几个概念和事例
·创建一个实用Flash站点的十大技巧
·Flash动画制作实例:小野人玩摇滚
·Flash技术在电子杂志设计制作应用
·用js+flash实现网页中复制数据功能
·教你如何去掉网页上的Flash动画虚线框
·让Flash动画适应任何分辨率的网页
·基础:flash9.ocx 加载错误解决方法
·Flash AS基础精典教程
·Flash AS教程之四 动态文本的编写以及外部文本的载入
·flash载入外部文本设置颜色的问题
·Flash制作漂亮的三重卷动相册特效动画
·关于网页中Flash弹出网页窗口的详细讲解
·用FLASH遮罩效果做图片切换效果
·实例技巧:Flash与HTML实现交互的实例
·Macromedia Flex 教程: Flex入门教程
·高级游戏制作:Flash制作物体弹跳电脑游戏
·技巧:用Flash制作动画的经典问题问答
热点TOP10
·FLASH制作一个可以伸缩的导航条
·flash声音特效实例--架子鼓(图)
·由浅入深学习Flash制作高射炮游戏
·Flash动画制作实例:小野人玩摇滚
·Flash 图片轮换效果
·高级游戏制作:Flash制作物体弹跳电脑游戏
·用FLASH遮罩效果做图片切换效果
·将数码照片做成自动放映的Flash
·用Flash MX模板制作幻灯片效果
·Flash教程:制作随机画圆弧动画
·轻松做出精美3D效果 浅析Flash 3D动画制作
·Flash遮罩特效实例--放大镜(图)
·Photoshop 7.0制作一杯热茶
·Macromedia Flex 教程: Flex入门教程
·Flash联合粒子特效软件打造超酷浪漫动画特效
·Flash AS3:动态文本滚动条
·Flash制作漂亮的三重卷动相册特效动画
·精彩推荐:全Flash网站制作实例
·Flash8 字体特效
·Flash AS基础精典教程

Flash代码实例:神奇的互动橡皮刷

日期:2007年12月10日 作者: 查看:[大字体 中字体 小字体]


  以前用做橡皮刷的时候通常都是通过绘制底图实现的,最近在发现其实还有一种更好的实现方法就是用bitmapdata的alpha通道。

  只要在一张图片上用draw画一个透明度为零的图片,就可以实现在draw的区域图片透明了。

  完成效果如下:

Access" VALUE=""> /imagelist/2007/330/uh0yb68gxc5l.swf


  点击选择右边的橡皮刷或者画笔图标,再用鼠标在画面上拖动,看看会出现什么情况?

  AS代码如下:


//导入所需要的类
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
//初始点(0,0)
var base_point:Point = new Point(0, 0);
//初始区域(0,0,25,25)
var base_rectangle:Rectangle = new Rectangle(0, 0, 25, 25);
//导入库中图片
var bit1:BitmapData = BitmapData.loadBitmap("img1");
//定义org_bit:BitmapData用于恢复图片
var org_bit:BitmapData = new BitmapData(mc._width, bit1.height, true, 0);
org_bit.draw(bit1);
//draw_bit拷贝org_bit用于涂鸦操作
var draw_bit:BitmapData = org_bit.clone();
//导入到舞台中
_root.createEmptyMovieClip("draw_mc", 1);
draw_mc.attachBitmap(draw_bit, 1);
//定义橡皮刷erase_bit和笔刷redraw_bit argb为0(透明)
var erase_bit:BitmapData = new BitmapData(mc1._width, mc1._height, true, 0);
var redraw_bit:BitmapData = erase_bit.clone();
//橡皮刷erase_bit填充为白色,这里注意a必须不为0 rbg为FFFFFF
erase_bit.fillRect(erase_bit.rectangle, 0xFFFFFFFF);
//定义橡皮刷erase_bit和笔刷redraw_bit形状 注意mc1必须为黑色 你也可以尝试用别的颜色看看效果慢慢体会吧
erase_bit.draw(mc1);
redraw_bit.draw(mc1);
//交换erase_bit r通道和a通道数值 所以a通道数值为00
erase_bit.copyChannel(erase_bit, erase_bit.rectangle, new Point(0, 0), 1, 8);
//保存当前使用的工具
var tools:String;
//点击笔刷工具
mc_bursh.onRelease = function()
{
        this.gotoAndStop(2);
        mc_earse.gotoAndStop(1);
        tools = "bursh";
};
//点击橡皮刷工具
mc_earse.onRelease = function()
{
        this.gotoAndStop(2);
        mc_bursh.gotoAndStop(1);
        tools = "easre";
};
//在draw_bit上涂鸦
draw_mc.onPress = function()
{
        trace(tools);
        if (tools == "bursh")
        {
                this.onMouseMove = bursh_pic;
        }
        if (tools == "easre")
        {
                this.onMouseMove = earse_pic;
        }
};
//停止涂鸦
draw_mc.onRelease = function()
{
        delete this.onMouseMove;
};
//橡皮刷工具
function earse_pic()
{
        var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse+base_rectangle.width, _ymouse+base_rectangle.height);
        trace(now_rect);
        //在draw_bit上使用copyPixels alpha为false 透明区域透明 不透明区域保持原色
        draw_bit.copyPixels(draw_bit, now_rect, new Point(_xmouse, _ymouse), erase_bit, new Point(0, 0), false);
        updateAfterEvent();
}
//笔刷工具
function bursh_pic()
{
        var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse+base_rectangle.width, _ymouse+base_rectangle.height);
        trace(now_rect);
        //在org_bit上使用copyPixels alpha为true 则笔刷工具只有不透明的地方起作用
        draw_bit.copyPixels(org_bit, now_rect, new Point(_xmouse, _ymouse), redraw_bit, new Point(0, 0), true);
        updateAfterEvent();
}
//移动背景图观察效果
mc.onPress = function()
{
        this.startDrag();
};
mc.onRelease = function()
{
        this.stopDrag();
};

(出处:清风下载学院






上一篇:站长的视频建站时代 离你已经不远了

下一篇:Photoshop巧将照片处理成淡彩线描特效

Flash代码实例:神奇的互动橡皮刷 相关文章:
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·QQ空间flash代码-QQ空间flash
·QQ空间透明flash代码
·不用Q币装扮QQ空间皮肤代码
·免费领养QQ空间五级花最新技巧及代码放送
·javascript 常用代码大全
·QQ空间FLASH皮肤代码-黑色恐怖空间
·弹出窗口代码集萃
·QQ空间图片代码
·QQ空间植物代码
Flash代码实例:神奇的互动橡皮刷 相关软件:
·超强ASP代码集『推荐』
·Delphi进销存程序设计(含源代码)
·Flash实用源代码与实例详解
·深入浅出ASP.NET程序设计源代码
·《C语言精彩编程百例》源代码
·《C语言课程设计案例精编》源代码
·游戏代码
·情网交友代码(酷爱信息完善版)
·网人代码酷 v2.0
·asp热线代码下载程序

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn