var scrollSpeed:uint = 5;
//This adds two instances of the movie clip onto the stage.
//This positions the second movieclip next to the first one.
f1.x = 0;
f2.x = f1.width;
//Adds an event listener to the stage.
stage.addEventListener(Event.ENTER_FRAME, moveScroll);
//This function moves both the images to left. If the first and second
//images goes pass the left stage boundary then it gets moved to
//the other side of the stage.
function moveScroll(e:Event):void{
f1.x -= scrollSpeed;
f2.x -= scrollSpeed;
if(f1.x < +f1.width){
f1.x = f1.width;
}else if(f2.x < +f2.width){
f2.x = f2.width;
}
}
f1和f2是我的鱼类实例名称
答案 0 :(得分:1)
您的问题行位于底部。
if (f1.x < f1.width) {
f1.x = stage.stageWidth - f1.width // f1.width;
} // Removed else
if (f2.x < f2.width) {
f2.x = f1.width;
}
答案 1 :(得分:0)
这假设你的图像/ mc对于屏幕足够大,并且是重复的(具有相同的内容)
function moveScroll(e:Event):void {
//position fish 1
f1.x -= scrollSpeed;
//when fish 1 is out of bounds (off the screen on the left, set it back to 0
if (f1.x < -f1.width) {
f1.x = 0;
}
//always position fish2 next to fish 1
f2.x = f1.x + f1.width;
}
另一种方法是将它们放入数组并切换它们,如果它们没有相同的内容:
//add fishes to array
var images:Array = new Array();
images.push(f1, f2);
function moveScroll(e:Event):void {
//position fish 1
images[0].x -= scrollSpeed;
//when first fish is out of bounds, remove it from the array (unshift) and add it at the end (push)
if (images[0].x < -images[0].width) {
images.push(images.unshift())
}
//always position fish2 next to fish 1
images[1].x = images[0].x + images[0].width;
}
这些只是基本的例子,但你明白了