Цитата:
|
а есть вариант сделать проще?
|
Ну да.. записать ссылку на объект в переменную

Код AS3:
function clicked (e:MouseEvent):void{
var mc:MovieClip = e.currentTarget as MovieClip;
if (animation == true){
return;
}
else{
srcX = mc.x;
srcY = mc.y;
var scaleNew = (stage.stageHeight-240) / mc.startHeight;
if (!zoomed){
if (page1.visible){
TweenLite.to(page1.ugolki, 0.5, {alpha:0});
}
else {
TweenLite.to(page2.ugolki2, 0.5, {alpha:0});
}
animation = true;
mc.parent.addChild(mc); // наверное, так?
TweenLite.to(mc, 1, {delay:0.2, x:stage.stageWidth/2, y:stage.stageHeight/2, scaleX:scaleNew, scaleY:scaleNew, ease:Back.easeOut, onComplete: finishedAnimation});
zoomed = true;
}
else{
if (page1.visible){
TweenLite.to(page1.ugolki, 0.3, {delay: 0.5, alpha:1});
page1.addChild(page1.ugolki);
}
else{
TweenLite.to(page2.ugolki2, 0.3, {delay: 0.5, alpha:1});
page2.addChild(page2.ugolki2);
}
animation = true;
TweenLite.to(mc, 0.6, {x:mc.startX, y:mc.startY, scaleX:1, scaleY:1, ease:Back.easeIn, onComplete: finishedAnimation});
zoomed = false;
}
}
}
А то ж не только читать тяжело, Вы заставляете плеер каждый раз разыскивать объект через другие ссылки.
Так же избыточны конструкции типа if (page1.visible == true). Вы берете булево от булево. Можно бесконечно упаковывать их в скобки например)) :
if (((page1.visible == true) == true) == true) {}
Выглядит нелепо, но Вы делеаете абсолютно то же самое, когда пишете if (page1.visible == true).
Потому как эти выражения равны: (page1.visible == true) абсолютно равно (page1.visible)