Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.04.2009, 13:49
MixaNik вне форума Посмотреть профиль Отправить личное сообщение для MixaNik Найти все сообщения от MixaNik
  № 1  
Ответить с цитированием
MixaNik

Регистрация: Apr 2009
Сообщений: 2
По умолчанию Проблема со swapDepths

Не могу понять логику следующего глюка:
Есть три кнопки (слева внизу), movie-clip'ы, на нижнем слое.
При rollOver каждая должна вылезать на передний план (swapDepths(100)), при rollOut возвращаться на прежнее место. При нажатии на кнопку должен происходить переход на кадр с картинкой в верхнем слое. В общем, цель, надеюсь, ясна.
Так как кнопок будет не три, а 18, чтобы не прописывать им всем одно и то же, решил сразу их перечислить для функции с rollOver и для функции с rollOut. При наведении первым делом в переменную "a" заносится нынешнее положение по z, потом свопДепс(100). При убирании - свопДепс(а). Надеюсь, понятно объяснил.
Беда в следующем. Пока не нажимаешь на кнопки, реакция на наведение/убирание мышки правильная. При первом нажатии на любую все так же работает. При втором - тоже. А вот при третьем нажатии сама нажатая кнопка зависает на переднем плане. Причем, иногда это происходит и при четвертом нажатии, а иногда не происходит вообще.
Только пожалуйста, не закидывайте сразу сложными понятиями и функциями, с ActionScript знаком всего сутки.
P.S. фла прилагается.
Вложения
Тип файла: zip why.zip (8.7 Кб, 53 просмотров)

Старый 21.04.2009, 14:32
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
)) всего сутки, но зато в CS4. Будьте проще, и Вам быстрее ответят. Многие и с восьмерки уходить не спешат, и имеют на то причины.
__________________
Reality.getBounds(this);

Старый 21.04.2009, 15:13
MixaNik вне форума Посмотреть профиль Отправить личное сообщение для MixaNik Найти все сообщения от MixaNik
  № 3  
Ответить с цитированием
MixaNik

Регистрация: Apr 2009
Сообщений: 2
Цитата:
Сообщение от Wolsh Посмотреть сообщение
)) всего сутки, но зато в CS4. Будьте проще, и Вам быстрее ответят. Многие и с восьмерки уходить не спешат, и имеют на то причины.
Что было, то поставил) А что, есть проблемы с обратной совместимостью? Я думал, что файл откроется в любой версии, поддерживающей AS2.
Могу еще сохранить как Flash CS3 document, только есть ли смысл?
Попробую здесь процитировать:
Это код первого кадра слоя с кнопками-клипами:
Код AS1/AS2:
_global.a
pic1.onRollOver = pic2.onRollOver = pic3.onRollOver = function () {
	_global.a=this.getDepth()
	this.swapDepths(100);
}
pic1.onRollOut = pic2.onRollOut = pic3.onRollOut = function () {
	this.swapDepths(a);
}
Первый кадр ключевой, со второго по пятнадцатый - простые.

На слое с картинками четыре ключевых кадра - 1й, 5й, 10й, 15й (картинки). В каждом прописан stop();
Вот образец кода, прописанного каждой кнопке:
Код AS1/AS2:
on (release) {
	_root.gotoAndPlay(5)
}
У второй и третьей кнопки в скобках, соответственно, 10 и 15.

Старый 21.04.2009, 15:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А так?
Код:
var pic_count = 18;
var top_mc:MovieClip = pic18; // в реальности та что сверху))
var target_mc:MovieClip;
for(var i:Number = 1; i<=pic_count; i++){
    var pic:MovieClip = this["pic"+i]
    pic.id = i;
    pic.onRollOver = function () {
	target_mc = top_mc;
        this.swapDepths(top_mc);
        top_mc=this;
    }
    pic.onRollOut = function () {
	this.swapDepths(target_mc);
        top_mc = target_mc;
    }
    pic.onPress = function() {
        _root.gotoAndPlay(this.id);
    }
}
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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