PDA

Просмотр полной версии : Перемещение картинок в зависимости от кнопки


Timmurio
17.07.2007, 13:38
Вот схематичная картинка :http://samplesample2007.narod.ru/
Мне необходимо сделать следующую вещь:
6 сценок (картинок) выставлены вряд. В видимом поле видна только одна. Про нажатии 1 из 6ти кнопок под картинкой (в зависимости от кнопки) лента с картинками перемещается на соответствующую картинку. Как это лучше сделать, подскажите пожалуйста?

BigDan
17.07.2007, 13:46
Маска+Твин(класс Tween)

Timmurio
17.07.2007, 13:53
То что маска - это конечно. Проблема в другом - с картинки 2 на картинку 3 перейти легко. А в
от обратно - на timeline ведь не проигрывается назад.

Wolsh
17.07.2007, 14:41
а как же gotoAndStop() или хотябы prevFrame() ?

Timmurio
17.07.2007, 15:23
gotoAndStop() работает только в одну сторону - то есть я не проиграю фреймы в обратном порядке - 10 9 8 7 6 5 4 3 2 1.

Wolsh
17.07.2007, 15:57
Еще как проиграешь
Но проще всёже по координатам
вот, свалял примерчик, скачивай (http://wolsh.pisem.net/flashcard/listalka.rar)

Timmurio
17.07.2007, 16:07
2Wolsh - примерно не опишешь - я додумаю ?

Fernando Costa
17.07.2007, 16:19
все что тебе надо это if() _currentframe и gotoAndStop()

Wolsh
17.07.2007, 17:23
Отпишись, подойдет тебе такое решение как в шестом посте или настаиваешь на покадровой анимации :)

Timmurio
17.07.2007, 17:39
Wolsh, у меня твоя swf открывается след. образом - на белом фоне розовый прямоугольник. Нет ничего кликабельного :( А fla вообще не открывается - у меня mx professional 2004

Cкептик
17.07.2007, 18:17
Переустанови Flash Player.

Ведьмак
17.07.2007, 18:32
странно... две одинаковых темы открыты разными людми...

Wolsh
17.07.2007, 19:18
ну свфку-то можно в браузер засунуть, трудно представить, что там у тебя седьмой плагин. А флаху я тебе никак в семерке не сохраню, нет у меня такого раритету. А, свфку-то я могу тебе под семь сделать
держи (http://wolsh.pisem.net/flashcard/listalka.swf)

Timmurio
17.07.2007, 19:31
2Wolsh - открыл броузером - все так, как я хотел. Осталось флэш новый поставить. Спасибо тебе огромное!

Wolsh
17.07.2007, 19:36
:) Ну новый-то это девятка, или CS3. А файлики в восьмом сделаны.
Если нет возможности поставить восьмерку-девятку, могу на пальцах объяснить чё делать в семерке

Timmurio
17.07.2007, 19:41
Это будет вообще супер - я даже как-то смущен такой помощью.

Wolsh
17.07.2007, 20:28
Ладно, я сегодня добрый просто. А бываю не очень...

1*Значит,на первом слое один кадр. В нем шесть картинок составляешь в ряд, выделяешь все вместе, кликаешь на этой пачке правой мышью и конвертишь в мувиклип. Назвать можешь как хочешь, но в панели внизу, где написано Instance name, пишешь my_mc.
2*Создаешь второй слой и рисуешь на нем маску, ставишь ее где тебе надо.
3*Создаешь третий слой и рисуешь символ кнопки, зажав ctrl растаскиваешь чтоб их стало шесть. Каждой в инспекторе свойств (той панельке внизу) задаешь Instance name вида but_1, but_2 и т.д.
4*Кликаешь на первый кадр в таймлайне, открываешь панель Actions и вставляешь этот
but_1.onPress = function(){
rush(target);
}
but_2.onPress = function(){
rush(target);
}
but_3.onPress = function(){
rush(target);
}
but_4.onPress = function(){
rush(target);
}
but_5.onPress = function(){
rush(target);
}
but_6.onPress = function(){
rush(target);
}
function rush(target_x) {
my_mc.onEnterFrame = function(){
way = target_x - my_mc._x;
this._x = Math.round(this._x+way/2);
}
}
5*Теперь надо проставить таргеты. Двигаешь руками my_mc так, чтобы под маской оказалась первая картинка, в инспекторе свойств смотришь значение х, и заменяешь на эту цифру слово target для функции rush() в but_1. Т.е. получится типа rush(235);
Также поступаешь с остальными, т.е. таргет - это значение х твоего мувика, при котором определенная картинка попадает точно под маску.
Уже думаю все понятно, да?

Timmurio
18.07.2007, 14:34
2Wolsh Сейчас буду делать. Если бы ты жил в Питере - пивом бы тебя угостил:)

Wolsh
18.07.2007, 16:20
Пару раз был у вас, и еще буду. Так что учись давай, чтоб к моему приезду на текилу хватало.