发新话题
打印

用加载的图片填充mc

用加载的图片填充mc

加载的图片填充mc
效果查看:http://www.mygamemylove.com/66.html
文件下载:http://www.mygamemylove.com/down.asp?filename=2007115133905.rar&title=用加载的图片填充mc
/*----------
飞飞 07-10-18  www.mygamemylove.com  我的经验与你分享
Email mygamemylove@qq.com
填充某个mc
------------*/
import flash.display.BitmapData;
import flash.geom.*;
//画矩形
function createRectangle(x:Number, y:Number, w:Number, h:Number, mc:MovieClip) {
mc.moveTo(x, y);
mc.lineTo(x+w, y);
mc.lineTo(x+w, y+h);
mc.lineTo(x, y+h);
mc.lineTo(x, y);
mc.endFill();
}
//mcTarget:MovieClip 要填充的影片 mcDraw:MovieClip 填充的素材 strMask 遮蔽,要填充的影片里的影片名字
function FillBmpMc(mcTarget:MovieClip, mcDraw:MovieClip, strMask:String) {
var rect_mc:MovieClip = mcTarget.createEmptyMovieClip("rect_mc", mcTarget.getNextHighestDepth());
rect_mc.bmp = new BitmapData(20, 20, false);
rect_mc.bmp.draw(mcDraw);
rect_mc.beginBitmapFill(rect_mc.bmp);
//因为只能填充一下用程序画的图形。
createRectangle(0, 0, mcTarget._width, mcTarget._height, rect_mc);
//如果填充一个不规则的图形,就要在要填充的影片里放一个作遮蔽的影片,不用的话,传一个没有申明的变量就可以了。
if (strMask != undefined) {
  rect_mc.setMask(mcTarget[strMask]);
}
}
//获得文件路径
function getFilePath():String {
var arrA:Array, strRen:String, strSplit:String;
strSplit = "/";
arrA = _root._url.split(strSplit);
if (arrA.length == 1) {
  strSplit = "\\";
}
for (var i:Number = 0; i<arrA.length-1; i++) {
  if (i == 0) {
   strRen = arrA[0];
  } else {
   strRen += strSplit+""+arrA;
  }
}
strRen += strSplit;
return strRen;
}
//提示框
function talkYou(strA:String){
txtTalkYou.text=strA
}
//
var mcImg:MovieClip = _root.createEmptyMovieClip("mcImg", _root.getNextHighestDepth());
var mcImg2:MovieClip;
//加载图片 MovieClipLoader  侦听对象
var objLoad:Object = new Object();
objLoad.onLoadInit = function(target_mc:MovieClip) {
//talkYou("加载完成,第一帧");
talkYou("");
//没有遮蔽
FillBmpMc(canvas, target_mc, strMask);
//有遮蔽
FillBmpMc(mcMask, target_mc, "mcMask");
//利用完了就搞死它:P
target_mc.removeMovieClip();
};
objLoad.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number) {
talkYou("完全下载");
};
objLoad.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
talkYou("未能加载");
};
objLoad.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
talkYou("加载过程中.."+Math.floor((loadedBytes/totalBytes)*100)+"%");
};
objLoad.onLoadStart = function(target_mc:MovieClip) {
talkYou("开始下载");
};
var myLoader:MovieClipLoader = new MovieClipLoader();
myLoader.addListener(objLoad);
//加载图片路
myLoader.loadClip(getFilePath()+"test.jpg", mcImg);

TOP

最新Flash小游戏玩区大家前来玩

本站最新推荐Flash小游戏,很多精彩的小游戏仿真大型游戏下载速度快,玩起来精彩,欢迎前来玩,网址:http://www.flash366.cn

TOP

发新话题