Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Не возвращается MC на свои начальные координаты (http://www.flasher.ru/forum/showthread.php?t=114178)

sparco2008 21.07.2008 13:40

Не возвращается MC на свои начальные координаты
 
Всем привет.
Такая ситуация, при перетаскивании и отпускание мышью "левого" мувика он не возвращается обратно на своё место, тобиш если перетащили на "правый" мувик, должно сработать "Yes" а если отпустили не перетащив на правый, то "no".

ткните на ошибку.

заранее благодарен.
Код:

mcLeft = new Array();
mcRight = new Array();
coord = new Array();
for(i=1; i<6; i++)
{ 
        mcLeft [i]="mcL"+i;
        mcRight [i]= "mcR"+i;
        coord[i]=new Array();
        coord[1][i]=_root[mcLeft[i]]._x;
        coord[2][i]=_root[mcLeft[i]]._y;
}
_root[mcLeft[i]].onMouseUp=function(){
for(i=0; i<=5; i++)
{
  if(!_root[mcLeft[i]].hitTest(_root[mcRight[i]])){
      _root[mcLeft[i]].x=coord[i][1];
      _root[mcLeft[i]].y=coord[i][2];
      trace("no");
    }
        else{
          trace("yes");
    }
  }
}


Kuruki 21.07.2008 14:59

Код:

_root[mcLeft[i]].onMouseUp
Для кого вы описали это событие? ответ: для _root.mcLeft6

Сначала вы пишете так:
Код:

coord[1][i]=_root[mcLeft[i]]._x;
coord[2][i]=_root[mcLeft[i]]._y;

А потом так:
Код:

_root[mcLeft[i]].x=coord[i][1];
_root[mcLeft[i]].y=coord[i][2];

Ошибка в массивах.
x, y - нет таких свойств у мувиков. Если только вы их не описали

Вот так бы я сделал: (имена клипов оставьте теми же)
Код:

for (i = 1; i <= 5; i++) {
        mcdrag(_root["mcLeft" + i], i);
}
function mcdrag (mc, i) {
        mc.old_x = mc._x;
        mc.old_y = mc._y;
        mc.targetmc = "mcRight" + i;
        mc.onPress = startDrag;
        mc.onRelease = test;
}
function test(){
        if (this.hitTest(_root[this.targetmc])) {
                trace ("yes");
                this._x = _root[this.targetmc]._x;
                this._y = _root[this.targetmc]._y;
                this.stopDrag();
        }else {
                trace("no");
                this._x = this.old_x;
                this._y = this.old_y;
                this.stopDrag();
        }
}


sparco2008 21.07.2008 19:10

спасибо.

sparco2008 21.07.2008 20:03

Не пойму, почему-то первый и последний "MC", при "hitTest", смещается левее чем остальные.
Все 5-ть MC с кторыми "hitTest" расположены равномерно.

Kuruki 21.07.2008 20:22

Может точка регистрации смещена в отличие от остальных? Скиньте исходник, если не получится

sparco2008 21.07.2008 20:41

Вложений: 1
причину так и не понял.

Вложение 20031

Kuruki 21.07.2008 21:03

У меня Flash 8. Сохраните документ в формате Flash 8 и перезалейте

sparco2008 21.07.2008 21:07

Вложений: 1
Перезалит
Вложение 20032

Kuruki 21.07.2008 21:25

У меня всеравно Unexpected File Format. CS3 ставить не хочу...

sparco2008 21.07.2008 21:51

странно, в MX 2004 всё нормально.. а в cs3 глюки.


Часовой пояс GMT +4, время: 22:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.