Форум 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)
-   -   Не срабатывает onPress в MovieClip (http://www.flasher.ru/forum/showthread.php?t=119582)

cker 24.12.2008 15:38

Не срабатывает onPress в MovieClip
 
Имеется такой код:
Код AS1/AS2:

i=0;
this.attachMovie("myMovieClip","but"+i,0);
this["but"+i]._y = i+135;
this["but"+i]._x = 35;
this["but"+i].i = i;
this["but"+i].onPress = function() {
  trace('ok');
};

myMovieClip - это просто красная пимпа. Скажите, почему у меня не срабатывает trace по нажатию на пимпу? :(

ujim 24.12.2008 15:51

Все работает.

Интересно:
Код AS1/AS2:

this.attachMovie("myMovieClip","but"+i,0);

У Вас вроде как множество клипов
Код AS1/AS2:

"but"+i

а depth для всех = 0?

zzz_dmg 24.12.2008 15:51

у меня срабатывает

cker 24.12.2008 15:55

был цикл, я его убрал и создаю пока только один элемент. вначале i=0 присваиваю

Что у меня может быть не так? Может с movieclip-ом что-то не то? Я выставил свойства Export for ActionScript, Export in first frame

zurkis 24.12.2008 15:58

да все так, код то рабочий и события отрабатывает

zzz_dmg 24.12.2008 15:58

Вложений: 1
сравни, что не так

lexa2000lexa 24.12.2008 15:58

Выкладывайте исходник, так как код ваш работает нормально.

cker 24.12.2008 16:06

Вложений: 1
untitled-2.rar у меня не открылся. Пользуюсь 8-ым флешом. Свой исходник прикладываюВложение 21139

zurkis 24.12.2008 16:12

ваш исходник рабочий, что не так в нем?

cker 24.12.2008 16:14

у меня не появляется окошко с "ок". Т.е. я не вижу результата работы trace.
Может настройик флеша?

zzz_dmg 24.12.2008 16:14

он сохранен под as1

zurkis 24.12.2008 16:19

в настройках выставь плеер 8-й и AS2 и все заработает

zzz_dmg 24.12.2008 16:22

у вас в самом клипе внутри написан код - уберите его и появится ваше _ок_)

zurkis 24.12.2008 16:34

для 8-ки
 
вот и для 8-ки

cker 24.12.2008 16:37

Вложений: 1
Спасибо за ответы! Получилось. Но остался для меня не раскрыт вопрос. В моем коде по нажатию на NewMC в вызове attachMovie в качестве movieclip - а стоит test все срабатывает. Но если я ставлю myMovieClip (второй movieclip из библиотеки) - trace не отрабатывает. Почему так происходит? Исходник прикладываю. Вложение 21141

zzz_dmg 24.12.2008 16:41

у вас внутри myMovieClip написан на кадре код
Код:

this.onPress = function ()
{
    this._parent.startDrag(0, 0);
};
this.onRelease = function ()
{
    stopDrag ();
};
this.onReleaseOutside = function ()
{
    stopDrag ();
};

уберите его

cker 24.12.2008 16:47

Спасибо большое! Помогло.
Только вот все это делалось для того, чтобы была возможность двигать пимпу после ее создания. Заменил trace на
Код AS1/AS2:

startDrag(this["newclip"+level], true);

Но пимпа двигаться после создания что-то не хочет. =/

zzz_dmg 24.12.2008 16:53

так это опишите в первом кадре
Код:

i=0;

        this.attachMovie("myMovieClip","but"+i,0);
        this["but"+i]._y = i+135;
        this["but"+i]._x = 35;
        this["but"+i].i = i;
        this["but"+i].onPress = function() {
          trace('ok');
          this.startDrag();
        };
this["but"+i].onRelease = function ()
{
    stopDrag ();
};
this["but"+i].onReleaseOutside = function ()
{
    stopDrag ();
};


cker 24.12.2008 16:57

Если бы я мог, я бы выложил в форум боченочек пивка для вас =) Спасибо!

zurkis 24.12.2008 17:04

ну дык, выложи, вместе попьем

cker 24.12.2008 23:38

Вложений: 1
Ребят, еще вопрос. Возле своей пимпы я добавил еще два поля input и textarea , но почему-то они не активны, т.е. я не могу их заполнять. В чем ошибка? Или я иду не в том направлении?
Исходники прикладываю Вложение 21147

dimarik 24.12.2008 23:45

Уберите поведение кнопки с этого мувика (onPress, onRelease, onReleaseOutside) и все у Вас получится.

Добавлено через 6 минут
Ну, как альтернатива, работайте с событиями onMouseDown, onMouseUp, onMouseMove

cker 25.12.2008 00:01

Дело в том, что мне нужно иметь возможность перетаскивать пимпу и два поля и в то же время, чтобы можно было заполнять поля

dimarik 25.12.2008 00:23

Вложений: 1
дЫк сделайте события onPress к этой "пимпе" и таскайте pimpa._parent

как-то так:

cker 25.12.2008 01:18

Спасибо, то что нужно!
А подскажите, как можно спрятать поля? т.е. если у меня допустим несколько пимп, чтобы при клике на одной из них ее поля были видимы, а возле остальных пимп чтобы прятались, но чтобы значения в них сохранялись. т.е. хочется управлять видимостью

zurkis 25.12.2008 02:17

используй для полей свойство _visible = true или false, а так же для кнопки событие onRollOut

cker 25.12.2008 03:52

Вложений: 1
Спасибо, разобрался.
Вопрос такой: необходимо на событие onRollOver оставить видимым только тот элемент, на который навели мышкой, а остальные, динамически созданные спрятать. Как грамотно составить цикл по динамически создаваемым элементам?
Скрипт прилагаю
Вложение 21149


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

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