Просмотр полной версии : Переход к следующему ключевому кадру
R.P.McMurphy
06.03.2007, 12:12
Как можно перейти к следующему ключевому кадру?
Из команд, с помощью которых можно перейти к кадру, знаю только gotoAndPlay, но там надо знать номер кадра или его лабел.
Можно ли как-нибудь узнать номер следующего ключевого кадра, или есть другие способы перехода к ним? :confused:
Ключевого кадра чего? Твина? Нет, нельзя, надо ставить метку.
1. Выбираешь ключевой кадр на временной диаграмме (кинолента такая)
2. Внизу открываешь раздел Properties
3. В поле Frames прописываешь уникальное имя для этого ключевого кадра, например "frame_1"
4. Для перехода на кадр используешь
gotoAndStop("frame1");
// или gotoAndPlay("frame1");
// в зависимости от потребностей
R.P.McMurphy
06.03.2007, 19:00
Да, этот способ я уже понял, только он не очень удобен в ситуации, когда есть k ключевых кадров (k - очень большое).
Собственно, есть некий ролик, представляющий собой последовательность картинок (слайдов) и некий голос за кадром (типа презентации). При этом каждый слайд может содержать в себе несколько ключевых кадров. Необходимо сделать кнопку навигации для перехода между слайдами.
Я делаю: создаю отдельный слой с элементами навигации (кнопки след. слайд и пред. слайд), разбиваю там ключевые кадры в соответствии со слайдами. Затем даю этим ключевым кадрам имена и прописываю в каждом кадре у каждой кнопки что она ссылается на кадр с таким-то именем.
Это единственный способ?
LeXi42006
06.03.2007, 19:09
Нет, еще можно прописать номер кадра вместо "frame1".
R.P.McMurphy
06.03.2007, 19:12
Ну, номер кадра это совсем неудобно - потом при вставлении пары кадров (а такое возможно) придется менять номера во всех последующих кнопках... :eek:
еще способ динамически создавать слайд шоу
R.P.McMurphy
06.03.2007, 19:33
еще способ динамически создавать слайд шоу
а это что такое и как делается?
http://www.intuit.ru/department/internet/flashmxascript/7/
LeXi42006
06.03.2007, 19:52
A nextFrame не подходит?
Можно назвать кадры типа 'kad1','kad2','kad3'... и т.д.
и вызывать
gotoAndPlay('kad'+nowkad)
nowkad++
A nextFrame не подходит?
он разве на ключевой переходит?
R.P.McMurphy
07.03.2007, 11:49
он разве на ключевой переходит?
в том и дело, что просто на следующий :(
R.P.McMurphy
07.03.2007, 11:51
Можно назвать кадры типа 'kad1','kad2','kad3'... и т.д.
и вызывать
gotoAndPlay('kad'+nowkad)
nowkad++
Да, пожалуй это оптимальный способ.
Интересно, а почему adobe не реализовали функцию nextKeyFrame...
Да, пожалуй это оптимальный способ.
Интересно, а почему adobe не реализовали функцию nextKeyFrame...
Ровно по той же причине, почему не сделали функцию «сделатьКруто()».
Вы же нашли оптимальное решение, состоящее из двух строк? Нашли. Вот поэтому функции и нет.
R.P.McMurphy
07.03.2007, 12:11
Вы же нашли оптимальное решение, состоящее из двух строк? Нашли. Вот поэтому функции и нет.
Функция "сделатьКруто()" это уж совсем утопично, а вот найденное решение кроме двух строк подразумевает необходимость давать названия всем ключевым кадрам, что, согласитесь, при большом их количестве занимает порядочное количество времени.
Кроме того, найденное решение не позволяет "легким движением руки" вставлять ключевые кадры в середину ролика - придется переназывать все последующие в части добавления к номеру единицы.
В swf слоев нет, а ключевых кадров твинов на 35—38-ом фрейме может быть много и на разных слоях. К какому переходить прикажете, а?
R.P.McMurphy
07.03.2007, 12:56
В swf слоев нет, а ключевых кадров твинов на 35—38-ом фрейме может быть много и на разных слоях. К какому переходить прикажете, а?
Я, к сожалению, flash плохо знаю и мне трудно вести беседу в приведенной терминологии...
Но, если бы судествовал инструмент перехода к следующему ключевому кадру на текущем слое (т.е. на слое, к объектам которого мы приписываем скрипт), было бы все ок (для данной задачи, безусловно).
Хотя, без ограничения общности можно было бы в функцию передавать параметром имя слоя.
В swf нет никаких слоев. Код не привязывается к слою, совершенно.
R.P.McMurphy
07.03.2007, 13:03
В swf нет никаких слоев. Код не привязывается к слою, совершенно.
В таком случае вопрос решился и все встало на свои места.
Спасибо за ликбез!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.