![]() |
Проблема при создании кнопок с использованием условий
Не знаю, насколько правильно назвал тему, другое название в голову не лезет, но есть такая проблема:
есть, к примеру 2 кнопки на 2-х разных слоях. И надо сделать так, чтобы при нажатии на: - ПЕРВУЮ кнопку игрались кадры, которые следуют сразу за ней (допустим со 2 по 5-й) и потом дальше игрались кадры, идущие после этой кнопки (допустим с 6-го по 8-й). - ВТОРУЮ кнопку игрались всё те же кадры сразу после кнопок (2-5), и потом игрались бы кнопки, которые идут с 9-го по 10-й кадры, минуя кадры 6-8. По идее условие должно быть такое, что Если нажата кнопка1, то СледоватьИИграть(2), затем СледоватьИИграть(6) Если нажата кнопка2, то СледоватьИИграть(2), затем СледоватьИИграть(9) (на главной сцене над кадром 5, 7 и 10 в AS прописан stop(); ) т.к. я новичёк в AS и флэше в целом, то многого ещё не знаю, в т.ч. как сделать именно такое условие. Делал нечто вроде Код AS1/AS2:
В общем очень прошу помощи. Думаю, знающим не составит труда правильный код выставить Добавлено через 1 минуту хм, интересно, а если использовать вместо else if слово then)))... Добавлено через 1 минуту не, не катит, к сожалению |
О боже...
Аналогия кода: мы пойдем на север, когда мы можем пойти на север, а если мы не можем пойти на север, но можем пойти на север, то мы пойдем на юг. Следовать и играть - это gotoAndPlay? Я не знаю, кто надоумил переводить это... но лучше ненадо. Цитата:
Блин, я долго думал что ты имел ввиду написав это. Сказал бы - со 2 по 8, не? Цитата:
В 6 кадре мувиклипа пишешь нечто вроде Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
|
onRelease - это не состояние кнопки)) Это функция-обработчик события, какое-то действие, поэтому запись if(onRelease) бессмысленна здесь. Вам надо просто завести "флаг" - переменную, хранящую данные, какая кнопка была нажата последней. И на перекрестке (в 6 кадре) проверять - если нажата одна, то переходим сразу на восьмой (9?), а если другая - то ничего не делаем, играем себе дальше.
Добавлено через 1 минуту Земляк опередил опять))) |
Цитата:
Цитата:
Идея вся в том, чтобы при нажатии на кнопки, они постепенно исчезли, и вместо них появились другие. Тоесть нажимаем на кнопку 1, ОБЕ кнопки исчезают(2-5), и появляется другая пачка кнопок (6-8 кадры). А если нажимаем на конпку 2, то опять исчезают ОБЕ кнопки (2-5), и появляется снова пачка кнопок, но уже с другим содержанием (тоесть эти кнопки располагаются на кадрах 9-10. //КСТАТИ да, не с 8 по 10-й, а с 9-го по 10й кадры, сча первый пост подправлю) Добавлено через 2 минуты Цитата:
Добавлено через 6 минут хм, сейчас глянул тут на форуме надпись со skip, которую Psycho Tiger написал, и сразу вопрос - а если кнопок больше будет? не пойдёт, наверное. Просто кнопок у меня больше.. |
Исчезали, появлялись.. - с помощью кадров? Вы часто в мультиках на кнопки жмете? Вы представляете себе реализацию например Ворда в виде мультипликации - если нажали клавишу с "В" то переходим на кадр где в документе есть буква "В" и т.д...??? Разберитесь в своих желаниях - программа и мультик две совершенно разные вещи. Переход по кадрам и поведение по событиям не совместимы. В большинстве случаев)) Не по основному таймлайну уж точно.
|
Видимо меня не совсем поняли:) Ну даже если так рассуждать, на флеше же игры различные существуют, там же делают это каким то образом.
Добавлено через 3 минуты Если рассматривать моё "творчество" без исчезаний и появлений, то тут всё очень просто, я бы даже не спрашивал. Там используется только gotoAndPlay (кадр,_который_нужен); Но так не красиво и неинтересно, поэтому может всё же возможно как то осуществить такую "прыгалку" по кадрам? |
Вложений: 1
вот скрин, чтобы было понятней.
|
ха, всё гениальное просто:) Не надо никаких не if было, не else)) надо было просто добавить gotoAndPlay (тот_кадр_на_который_хотим_перескочить); ))))
а вы - не реально, не реально :D Добавлено через 1 минуту тоесть код располагается внутри редактирования символа (MovieClip), и код такой: Код AS1/AS2:
Код AS1/AS2:
Добавлено через 7 минут забераю свои слова обратно) Не "проканало", что называется)) блин, как же победить то проблему |
Цитата:
Вот, например, "проверить, какая кнопка нажата". Нажатие кнопки - это мгновение. Поэтому рассуждение нелогично. Или вы предлагаете пользователю держать кнопку нажатой, пока вы не проверите нажатие? Логично иначе. "Как проверить, какая кнопка была нажата последней". Или, например, "как сделать что-то, когда пользователь нажал на кнопку". Теперь ответ на цитату: У вас есть обработчик нажатия кнопки: Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Цитата:
|
да, так и есть, игнорит.
Идея понятна, но не совсем:) Вот здесь: Код AS1/AS2:
а вот это: bylaNajataKnopka - не понимаю, что это такое. у меня AS и это, и значение этого (= 1) подсвечивает черным. Если это имя переменной, то не совсем пониамю, где назначить можно его. Я внутри редактирования MovieClip прописал нечто вроде Код AS1/AS2:
Код AS1/AS2:
Да, ещё момент - когда эти кнопки нажимаются, они должны исчезнуть, и на их место уже другие встают, а не где-то рядом. Т.е. наверное метод с "последней нажатой кнопкой" не совсем тот. |
| Часовой пояс GMT +4, время: 18:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.