WEB开发网
开发学院图形图像Flash [AS 功能代码教程08] Bitmap 动态效果 阅读

[AS 功能代码教程08] Bitmap 动态效果

 2009-05-30 12:07:11 来源:WEB开发网   
核心提示: 实例4:位图切片[BitmapData. beginBitmapFill()]思路: 1.点击到原图上,进行画圈,[AS 功能代码教程08] Bitmap 动态效果(6),并在圈中填充位图;2.点击在切片上,进行拖动,移动鼠标就draw }};pic.onMouseUp = functio

实例4:位图切片[BitmapData. beginBitmapFill()]

思路: 1.点击到原图上,进行画圈,并在圈中填充位图;

     2.点击在切片上,进行拖动。

步骤一:

在主场景中放入一位图,保存为影片剪辑,实例名为”pic”,放入舞台中;

注意:该位图在pic中的注册点应为左上(0,0),以确保正确显示。

步骤二:

加入AS代码:

import flash.display.BitmapData;
var bm:BitmapData = new BitmapData(pic._width, pic._height);
bm.draw(pic);
var draw:Boolean = false;
pic.onPress = function() {
 if (mc.hitTest(_xmouse, _ymouse, true)) {
  mc.startDrag();
  //如果鼠标在mc上,开始拖动它
 } else {
  draw = true;
  mc = _root.createEmptyMovieClip("mc", 1);

  mc.lineStyle(2, 0xFF0000);
  mc.beginBitmapFill(bm);
  mc.moveTo(_xmouse-this._x, _ymouse-this._y);
  //移动起点到此
 }
};
pic.onMouseMove = function() {
 if (draw) {
  mc.lineTo(_xmouse-this._x, _ymouse-this._y);
  //如果draw状态为真,移动鼠标就draw 
 }
};
pic.onMouseUp = function() {
 if (draw) {
  draw = false;
  mc.endFill();
  //填充结束
 } else {
  mc.stopDrag();
 }
};

关于BitmapData类的应用还有很多很多,一句两句还说不完,今后再做介绍。

上一页  1 2 3 4 5 6 7  下一页

Tags:AS 功能 代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接