flash图鸭效果
先看看代码:
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
//建立显示mc
this.createEmptyMovieClip("main", this.getNextHighestDepth());
main.createEmptyMovieClip("mc", main.getNextHighestDepth());
main.createEmptyMovieClip("show", main.getNextHighestDepth());
var content:BitmapData = new BitmapData(550,440,true,0x00FFFFFF);
main.show.attachBitmap(content,0)
//默认选中画笔
var action:Number = 0
txt.text = "当前选中:画笔"
mc_move.onPress = goDraw
//选中画笔
a.onPress = function(){
action = 0
txt.text = "当前选中:画笔"
main.mc._visible = true
mc_move.onPress = goDraw
}
//选中橡皮
b.onPress = function(){
action = 1
txt.text = "当前选中:橡皮"
main.mc._visible = false
mc_move.onPress = goDraw
}
//放开鼠标
mc_move.onRelease = function(){
delete onMouseMove
content.draw(main,new Matrix(),new ColorTransform(),1,new Rectangle(0,0,550,400))
main.mc.clear()
break;
}
mc_move.onReleaseOutside = mc_move.onRelease
//画线
function goDraw(){
main.mc.lineStyle(20)
main.mc.moveTo(_xmouse,_ymouse)
onMouseMove = function(){
main.mc.lineTo(_xmouse,_ymouse)
updateAfterEvent()
if(action==1){
//主要的代码,在使用橡皮的时候(action==1),draw的时候,"混合模式"选择12(第四个参数)
content.draw(main.mc,new Matrix(),new ColorTransform(),12)
}
}
}
import flash.geom.Rectangle;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
//建立显示mc
this.createEmptyMovieClip("main", this.getNextHighestDepth());
main.createEmptyMovieClip("mc", main.getNextHighestDepth());
main.createEmptyMovieClip("show", main.getNextHighestDepth());
var content:BitmapData = new BitmapData(550,440,true,0x00FFFFFF);
main.show.attachBitmap(content,0)
//默认选中画笔
var action:Number = 0
txt.text = "当前选中:画笔"
mc_move.onPress = goDraw
//选中画笔
a.onPress = function(){
action = 0
txt.text = "当前选中:画笔"
main.mc._visible = true
mc_move.onPress = goDraw
}
//选中橡皮
b.onPress = function(){
action = 1
txt.text = "当前选中:橡皮"
main.mc._visible = false
mc_move.onPress = goDraw
}
//放开鼠标
mc_move.onRelease = function(){
delete onMouseMove
content.draw(main,new Matrix(),new ColorTransform(),1,new Rectangle(0,0,550,400))
main.mc.clear()
break;
}
mc_move.onReleaseOutside = mc_move.onRelease
//画线
function goDraw(){
main.mc.lineStyle(20)
main.mc.moveTo(_xmouse,_ymouse)
onMouseMove = function(){
main.mc.lineTo(_xmouse,_ymouse)
updateAfterEvent()
if(action==1){
//主要的代码,在使用橡皮的时候(action==1),draw的时候,"混合模式"选择12(第四个参数)
content.draw(main.mc,new Matrix(),new ColorTransform(),12)
}
}
}
补充:flash教程,As3.0