stop();
speed = 10;
initial_width = 75;
target_width = 450;
sp = rect1._x;
this.createEmptyMovieClip("emptymc", 0);
emptymc.onEnterFrame = function() {
for (i=1; i<=6; i++) {
if (_root.hit.hitTest(_root._xmouse, _root._ymouse, true)) {
if (_root["rect"+i].hitTest(_root._xmouse, _root._ymouse, true)) {
new_x = (_root.sp-(75*(i-1)))-rect1._x;
rect1._x += new_x/speed;
n_width = target_width-_root["rect"+i]._width;
_root["rect"+i]._width += n_width/speed;
} else {
n_width2 = initial_width-_root["rect"+i]._width;
_root["rect"+i]._width += n_width2/speed;
}
} else {
new_x = _root.sp-rect1._x;
rect1._x += new_x/(speed+50);
n_width2 = initial_width-_root["rect"+i]._width;
_root["rect"+i]._width += n_width2/(speed-1);
}
_root["rect"+(i+1)]._x = _root["rect"+i]._x+_root["rect"+i]._width;
_root["movie"+i]._x = _root["rect"+i]._x-1;
}
};
谢谢大家,我明白了!我尝试翻译成AS3,似乎一切都很好。还有一些小错误,但我会尽力找到并抱歉给您带来不便。 :(
再次,谢谢大家。 :)
答案 0 :(得分:1)
我的代码不完整,但可以帮助您。 你需要在名为“rects”的数组中放入名为“rect”的影片剪辑,在名为movies的数组中放入名为movie的影片剪辑。
前缀为“_root”的变量和影片剪辑必须声明为全局。
stop();
speed = 10;
initial_width = 75;
target_width = 450;
sp = rect1._x;
emptymc = new MovieClip();
emptymc.addEventListener (Event.ENTER_FRAME , onEnterFrame);
function onEnterFrame (e:Event):void{
for (var i:int=1; i<=6; i++) {
if (hit.hitTestPoint(stage.mouseX, stage.mouseY,true)) {
if (rect.hitTestPoint(stage.mouseX, stage.mouseY, true)) {
new_x = (sp-(75*(i-1)))-rect1._x;
rect1.x += new_x/speed;
n_width = target_width-rects[i].width;
rects[i]._width += n_width/speed;
} else {
n_width2 = initial_width-rects[i].width;
rects[i].width += n_width2/speed;
}
} else {
new_x =sp-rect1.x;
rect1._x += new_x/(speed+50);
n_width2 = initial_width-rects[i].width;
rects[i].width += n_width2/(speed-1);
}
rects[(i+1)].x = rects[i].x+rects[i].width;
movies[i].x = rects[i].x-1;
}
}