bitmapData打造随机切凹凸拼图效果[附源码下载]

下午没事做,就弄了个随机切拼图效果,还没做判断,只是个切法的计算,稍后整理下就应该是个成品,嘿嘿~原理主要就是用bitmap进行切图,以前都是用遮照做太占资源.效果如下:
主要代码:puzzle.as
/*
* Puzzle CLASS

* @ CREATED BY: ycccc8202
* @ PURPOSE: 方便制作拼图游戏
* @ DATE:2007.6.10
* Usage example:
* var url:String = "/Files/BeyondPic/2007-6/12/117984810018150686780.jpg";
* var puzzleuzzle = new Puzzle(this, url);
* 设置摆放位置
* puzzle.setPosition(30, 20);
* 设置行/列
* puzzle.setRowAndLine(30, 10);
*/
import com.ycccc.PuzzleGame.MovieClipDrag;
import mx.events.EventDispatcher;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.filters.BevelFilter;
class com.ycccc.PuzzleGame.Puzzle {
/**
* Private members
*/
//加载图片长宽///
private var _imageW:Number;
private var _imageH:Number;
//设置最大宽高///
private var _imageMaxW:Number = 800;
private var _imageMaxH:Number = 500;

private var dispatchEvent:Function;
public var addEventListener:Function;
public var removeEventListener:Function;

private var _oldURL:String;
private var _newURL:String;
private var _x:Number;
private var _y:Number;
private var _row:Number;
private var _line:Number;
private var _path:MovieClip;
private var _imageM:MovieClip;
private var _pieceBoard:MovieClip;
private var _imageLoader:MovieClipLoader;
private var _imageBitmap:BitmapData;
private var _pieceW:Number;
private var _pieceH:Number;
private var _pieceMinWH:Number;
private var _pieceD:Number;
///内切矩形宽高(通过矩形画近似椭圆)///
private var _pieceOW:Number;
private var _pieceOH:Number;
///比例系数///
private var _pieceD_k:Number = 10;
private var _pieceO_k:Number = 4;
private var _pieceOWH_k:Number = 3/4;
/
/**
* Constructor
*/
public function Puzzle(path:MovieClip, imageLink:String) {
  EventDispatcher.initialize(this);
  _path = path;
  _newURL = imageLink;
  _imageM = _path.createEmptyMovieClip("imageM", _path.getNextHighestDepth());
  _imageLoader = new MovieClipLoader();
  _imageLoader.addListener(this);
  loadImage(_newURL);
}
/**
* Public methods
*/
public function set _url(url:String) {
  loadImage(url);
}
public function get _url():String {
  return _oldURL;
}
public function set row(r:Number) {
  _row = r;
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/1250.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值