Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с OnMouseUp/Down 
V
    Опции темы
tofsla
Дата 25.6.2006, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 17.5.2005
Где: Москва

Репутация: 1
Всего: 1



Доброго времени суток,

Мне нужно сделать, чтобы клипы(спички) можно было создавать нажатием на кнопку и потом двигать или поворачивать по клику мышки, но почему-то получается, что на события OnMouseUp/OnMouseDown реагируют все созданные клипы, причем поворачиваются все вместе, а перетаскивается только тот, который был создан первым.

Это так должно быть или я что-то неправильно делаю?

Код

function Matches():Void {
}
Object.registerClass("match", Matches);
Matches.prototype = new MovieClip();
var i = 0;
btnNewMatch.onPress = function():Void  {
    newMatch = _root.attachMovie("match", "match"+i, i, {_x:_xmouse, _y:_ymouse});
    newMatch.startDrag();
    newMatch.isBeDragged = true;
    newMatch.isBeginDragged = true;
    i++;
};
Matches.prototype.onMouseDown = function() {
    this.startDrag(false);
    isBeginDragged = true;
};
Matches.prototype.onMouseUp = function():Void  {
    this.stopDrag();
    if (!this.isBeDragged) {
        this._rotation += 15;
    }
    this.isBeDragged = false;
    this.isBeginDragged = false;
};
Matches.prototype.onMouseMove = function():Void  {
    this.isBeDragged = this.isBeginDragged;
};
  

Это сообщение отредактировал(а) tofsla - 30.6.2006, 11:16
PM MAIL   Вверх
Maksys
Дата 27.6.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Вот что у меня вышло 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  start.rar 4,54 Kb


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
tofsla
Дата 28.6.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 17.5.2005
Где: Москва

Репутация: 1
Всего: 1



как по-другому сделать, это я уже придумала, а почему такой код не работает? Точнее, почему на события  OnMouseUp/OnMouseDown/OnMouseMove реагируют все объекты, а на OnPress и OnRelease только тот на который нажали? 
PM MAIL   Вверх
Maksys
Дата 28.6.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Цитата(tofsla @  28.6.2006,  14:49 Найти цитируемый пост)
, а почему такой код не работает

я думаю что скорее всего ты строчкой:
Код

newMatch = _root.attachMovie("match", "match"+i, i, {_x:_xmouse, _y:_ymouse});

Подтираешь все листенеры и эвенты у предыдущего объекта, поэтому тут идет косяк. 
Может вот так тебе понятней будет что происходит:
Код

function Matches():Void {
}
Object.registerClass("match", Matches);
Matches.prototype = new MovieClip();
var i = 0;
btnNewMatch.onPress = function():Void  {
    newMatch = _root.attachMovie("match", "match"+i, i, {_x:_xmouse, _y:_ymouse});
    newMatch.isBeDragged = true;
    newMatch.isBeginDragged = true;
    i++;
};
Matches.prototype.onMouseDown = function() {
    newMatch.startDrag();
    isBeginDragged = true;
};
Matches.prototype.onMouseUp = function():Void  {
    this.stopDrag();
    if (!this.isBeDragged) {
        this._rotation += 15;
    }
    this.isBeDragged = false;
    this.isBeginDragged = false;
};
Matches.prototype.onMouseMove = function():Void  {
    this.isBeDragged = this.isBeginDragged;
};

 

Это сообщение отредактировал(а) Maksys - 28.6.2006, 17:17


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
tofsla
Дата 30.6.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 17.5.2005
Где: Москва

Репутация: 1
Всего: 1



Ничего не понимаю smile  . Вот так двигается только первый созданный объект, причем если мышкой нажать в любом месте флешки, а если addListener открыть, то только последний (тут, наверное, действительно все затирается). trace показывает, что событие все объекты ловят.

Код

function Matches():Void {
}
Object.registerClass("match", Matches);
Matches.prototype.__proto__  = new MovieClip();
var i = 0;
var arr:Array=[]
btnNewMatch.onPress = function():Void  {
    arr[i] = _root.attachMovie("match", "match"+i, i, {_x:_xmouse, _y:_ymouse});
    //Mouse.addListener(arr[i]);
    i++;
};
Matches.prototype.onMouseDown = function() {
    trace(this);
    this.startDrag(false);
};
Matches.prototype.onMouseUp = function():Void  {
    this.stopDrag();
};
 
PM MAIL   Вверх
tofsla
Дата 3.7.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 17.5.2005
Где: Москва

Репутация: 1
Всего: 1



Дошло smile, надо делать так ...\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\Animation 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.