這種效果做法很多,網上到處可以搜出一大堆!
本例主要是應用了BitmapData類,仿制很容易。
做法:
處理一張首尾相接的環繞圖檔,導入Flash庫中,打開庫,右擊圖檔,選“連結”,“為ActionScript導出“,辨別ID名為:pic
場景上什麼也不放。最好将場景高度設為與圖檔一樣高。寬度随意,但要小于圖檔寬度。
在第一幀粘帖如下代碼,即可測試:
import flash.display.BitmapData;
import flash.geom.*;
//從庫裡取圖
var picBD:BitmapData = BitmapData.loadBitmap("pic");
var pic_mc:MovieClip = this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth());
pic_mc.attachBitmap(picBD, this.getNextHighestDepth());
//建立用于“過渡”的圖
var picBD2:BitmapData = new BitmapData(Stage.width*2, pic_mc._height, false, 0xFF);
var pic_mc2:MovieClip = this.createEmptyMovieClip("pic_mc2", this.getNextHighestDepth());
pic_mc2.attachBitmap(picBD2, this.getNextHighestDepth());
//截取源圖的前和後各一部分組成新的圖
picBD2.copyPixels(picBD, new Rectangle(0, 0, Stage.width, pic_mc._height), new Point(Stage.width, 0));
picBD2.copyPixels(picBD, new Rectangle(pic_mc._width-Stage.width, 0, Stage.width, pic_mc._height), new Point(0, 0));
//初始化位置
pic_mc2._x = pic_mc._x+pic_mc._width-Stage.width;
pic_mc2._y = pic_mc._y;
//計算兩個“常量”,以免下面的幀循環中反複計算
var xa:Number = -(pic_mc._width-Stage.width)/2;
var xb:Number = -(pic_mc2._width-Stage.width)/2;
var v:Number =5;//移動速度初值
this.onEnterFrame = function() {
pic_mc._x -= v;
pic_mc2._x -= v;
//判斷不同位置下,pic_mc與pic_mc2有左右關系
if (pic_mc._xxa && pic_mc2._x>pic_mc._x) {
pic_mc2._x = pic_mc._x-pic_mc2._width/2;
} else if (pic_mc2._xxb && pic_mc._x>pic_mc2._x) {
pic_mc._x = pic_mc2._x-pic_mc._width+pic_mc2._width/2;
}
};
//滑鼠移動,修調速度
this.onMouseMove = function() {
v=Math.floor((this._xmouse-Stage.width/2)/30);//30為修調系數
}
附件上來了:
[img]/Files/BeyondPic/2006-11/22/20061122155252627.gif[/img]
[url=http://space.flash8.net/bbs/member.php?action=credits&view=getattach]附件[/url]
:
[url=http://space.flash8.net/bbs/attachment.php?aid=313047]BitmapData做環繞效果.swf[/url]
[img]/Files/BeyondPic/2006-11/22/20061122155252627.gif[/img]
[url=http://space.flash8.net/bbs/member.php?action=credits&view=getattach]附件[/url]
:
[url=http://space.flash8.net/bbs/attachment.php?aid=313048]BitmapData做環繞效果.fla[/url]
本文轉自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/625.html