PDA

Просмотр полной версии : Переход по сценам


OldDog
13.04.2007, 18:34
Привет всем! Ребят, подскажите пожалуйста. На кнопке прописываю вот такой код:

on(release){
gotoAndPlay("Scene 2",1);
}
но почему-то переход не происходит. Помогите кто чем может. Заранее благодарю!

iNils
13.04.2007, 18:54
Для оформления своего кода, надо использовать теги , а не собственные фантазии
На кнопке прописываю вот такой код:

on(release){
gotoAndPlay("Scene 2",1);
}
но почему-то переход не происходит. Потому что СЦЕНЫ - ЗЛО, забудьте про них и ваша жизнь станет прекрасной.

OldDog
14.04.2007, 00:44
спасибо тебе iNils, я даже и не подумал об этом. Но косяк все равно остался, не понимаю почему. Главное когда пишеш вот это
on (release) {
getURL("http://www.какой-нибудь сайт.com");
}
то все на удивление работает, переходит на указанную ссылку.

я на кнопке прописал
on(release){
gotoAndPlay(25);
}
но переход на 25 кадр не осуществляется. Помогите пожалуйста.

Ariel
14.04.2007, 00:54
Вы где таких кошмаров насмотрелись? В учебнике по 4-ому Флашу?

iNils
14.04.2007, 03:49
gotoAndPlay работающий со сценами является глобальной функцией и работает он только из основного таймлайна. Поэтому из вложенных клипов он не работает.

OldDog
14.04.2007, 10:28
Ну а как мне тогда осущесвить свою затею? iNils, подскажи пожалуйста, я же поэтому и написал в "ActionScript для Начинающих", еслиб я дотумкал, я бы и не приставал со своими распросами : )

techno
14.04.2007, 10:43
Когда ты вызываешь gotoAndPlay(), не определяя путь, то флеш переводит на кадр не основную сцену, а мувик в котором расположен. Чтобы перевести кадр в основной сцене пиши так
on(release){
_root.gotoAndPlay(25);
}

MINASTIS
14.04.2007, 10:55
Создаешь объект movieClip, в кадре оного прописываешь.

this.onRelease = function () {
_root.gotoAndPlay(25);
}

OldDog
14.04.2007, 17:04
Пасиба ребят, с переходом на кадр получилось
on(release){
_root.gotoAndPlay(25);
}

а вот с переходом на сцену не получается
on(release){
_root.gotoAndPlay("Scene 2",1);
}
может найдется еще какое-нибудь решение, в моих интересах все же создать с помощью сцен

MINASTIS
14.04.2007, 17:13
Есть множество вариантов создавать не используя сцены. Подумай немного, и придумаешь. Сцены действительно не очень удачный вариант.

iNils
14.04.2007, 17:14
а вот с переходом на сцену не получается
может найдется еще какое-нибудь решение, в моих интересах все же создать с помощью сцен
Вы читать умеете? Я же написал, что переход по сценам, возможен только из ОСНОВНОГО таймлайна! Поэтому с кнопок вы должне ссылаться на функцию на основном таймлане, которая в свою очередь делает переход по сценам.

В ваших интересах от сцен отказаться, вы совершаете распостраненную среди новичков ошибку, думаю что сцены это удобно и круто. А в результате тратите время на решение бесконечных проблем.

DanQuimby
15.04.2007, 22:15
Поднимаю все конечности "ЗА". iNils прав.
Сцены зло сам как то пытался их реализовать но потом
переплевался и отправил их ффф топку :)

Sp1R1t
15.04.2007, 22:46
странно....никогда сценами не пользовался, но вот попробовал....у меня все ок работает.....можт я суть трабла не понял

iNils
15.04.2007, 23:30
Sp1R1t, а теперь поместите вашу кнопку внуть любого мувиклипа и работать перестанет.
Потому что в данный момент ваша кнопка находится на основном таймлайне, и кнопка ссылается на основной таймлайн. Когда же кнопка будет находится внутри мувиклипа, то сслыаться будет уже на мувиклип.
А если вы вместо кнопки напишите код на мувиклипе (клип на основном таймлайне), то код уже работать не будет, потому что код на мувиклипе ссылается на сам мувиклип, то есть на самого себя, в отличии от кнопки которая ссылается на клип в котором расположена.

Sp1R1t
17.04.2007, 00:38
догнал....все равно сценами никогда не пользовался

__Bender
17.04.2007, 02:23
OldDog
Ты создай вторую сцену..
и может тебе надо написать:

on (release) {
_root.gotoAndStop("Scene2", 1);
}

так как при play может переходить с 2сцены на 1ю.. или поставь на 2сцене:

stop();

iNils
17.04.2007, 02:27
OldDog
Ты создай вторую сцену..
и может тебе надо написать:

on (release) {
_root.gotoAndPlay("Scene2", 1);
}
Ерунду не говорите. Хотя бы проверили, прежде чем писать.

__Bender
17.04.2007, 02:30
iNils
не посмотрел.. ага.

Жень Шень
17.04.2007, 11:46
Sp1R1t, а теперь поместите вашу кнопку внуть любого мувиклипа и работать перестанет...
Привет!
Может я не въехал в суть..., но встану на защиту сцен. Раз они созданы, значит это кому-то надо.
Суть сцен - продолжение основного таймлайна, а значит им свойственна абосолютная нумерация. Если, к примеру, сцена 1 содержит 5 кадров, 2-я сцена 1, а третья 4, то обратится ко второй сцене можно по абсолютному адресу на главной линейке:
on (press) {
_root.gotoAndStop(6);
}
При этом вторая сцена имеет стоп в своем единственном кадре.
А чтоб проигралась анимация, допустим, в третьей сцене, соответсвенно:
on (press) {
_root.gotoAndPlay(7);
}
При этом в последнем кадре 3-й сцены тоже должен быть стоп.

При наличии большего количества сцен и сложном коде легко запутаться, поэтому столько нареканий на них. Кроме того удаление(добавление) кадра(кадров) в любой сцене приведет к сбою всей АБСОЛЮТНОЙ адресации(если, конечно, их не исправить).
Но, сцены прекрасно себя оправдали, например при разработке таблицы Менделеева, линейной презентации и др.
Ну, и в приложеном примере это иллюстрируеться.

iNils
17.04.2007, 18:24
1. Сцены нужны дизайнерам, но при условии минимального использования кода, иначе не понятно почему не решили проблему пункта 3.
2. Проблема с абсолютной адресацией решается применением меток, которые при изменении числа кадров не перестают работать.
3. По сценам не возможно ходить кроме как вызовом функций переходом из основного таймлайна.
4. Сценам нельзя задать общие для всех слои.
5. Сделал пример, как можно обойтись без сцен (см аттач). Возможны переходы между "сценами", переход в определенный кадр заданной "сцены" (функционал ознакомительный, так как написано все за 5 минут). При этом все в одной сцене, можно создавать легко клоны сцен и общие слои.

Жень Шень
17.04.2007, 19:41
Посмотрел пример. Чудесно! Именно так писалось (мною) большинство разработок. Конечна, гораздо легче "куски" программы (презентации, да чего угодно) помещать в оддельные клипы и выстраивать их в нужную последовательность. Преимущества такой схемы очевидны - не буду повторять. А вот пример (словесный) где со сценами легче работать: Нужен был именной глорссарий ученых. Работало над проектом несколько человек. Каждому дан шаблон (размер фото, биография и т.д.) Потом только к основному клипу добавлялись сцены. Никакого особенного программинга. В основном клипе ссылки на ФИО, в сцене кнопка возврата.
Вывод: все медоты хороши, если они ведут к желаемому результату с найменьшими затратами.
О сценах писано (и на этом форуме) много и неоднократно. Начинающие флешеры все равно будут их "пробывать на зуб". Я тоже проходил это. И задачей "продвинутых" флешеров научить правильному применению сцен или отказу от них в каждом конкретном вопросе "чайника" (начинающего флешера).

micao
15.01.2008, 07:30
В связи с прочитанным возник вопрос: к примеру, на сцене в 1 кадре лежит мувик, во втором кадре сцены - кнопка. Возможен ли переход со второго кадра сцены внутрь мувика, скажем, на 10 кадр?

iNils
15.01.2008, 09:00
Мувик только в первом кадре, а кнопка только во втором, и надо при нажатии на кнопку попасть на первый кадр к клипу и в нем на 10-ый кадр?
Можно.