Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Переход по сценам (http://www.flasher.ru/forum/showthread.php?t=94507)

OldDog 13.04.2007 18:34

Переход по сценам
 
Вложений: 1
Привет всем! Ребят, подскажите пожалуйста. На кнопке прописываю вот такой код:

Код:

on(release){
gotoAndPlay("Scene 2",1);
}

но почему-то переход не происходит. Помогите кто чем может. Заранее благодарю!

iNils 13.04.2007 18:54

Для оформления своего кода, надо использовать теги [code][/code], а не собственные фантазии
Цитата:

Сообщение от OldDog
На кнопке прописываю вот такой код:

Код:

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

Цитата:

Сообщение от OldDog
а вот с переходом на сцену не получается
может найдется еще какое-нибудь решение, в моих интересах все же создать с помощью сцен

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

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

DanQuimby 15.04.2007 22:15

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

Sp1R1t 15.04.2007 22:46

Вложений: 1
странно....никогда сценами не пользовался, но вот попробовал....у меня все ок работает.....можт я суть трабла не понял

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

Цитата:

Сообщение от __Bender
OldDog
Ты создай вторую сцену..
и может тебе надо написать:
Код:

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


Ерунду не говорите. Хотя бы проверили, прежде чем писать.

__Bender 17.04.2007 02:30

iNils
не посмотрел.. ага.

Жень Шень 17.04.2007 11:46

Вложений: 1
Цитата:

Сообщение от iNils
Sp1R1t, а теперь поместите вашу кнопку внуть любого мувиклипа и работать перестанет...

Привет!
Может я не въехал в суть..., но встану на защиту сцен. Раз они созданы, значит это кому-то надо.
Суть сцен - продолжение основного таймлайна, а значит им свойственна абосолютная нумерация. Если, к примеру, сцена 1 содержит 5 кадров, 2-я сцена 1, а третья 4, то обратится ко второй сцене можно по абсолютному адресу на главной линейке:
Код:

on (press) {
    _root.gotoAndStop(6);
}

При этом вторая сцена имеет стоп в своем единственном кадре.
А чтоб проигралась анимация, допустим, в третьей сцене, соответсвенно:
Код:

on (press) {
    _root.gotoAndPlay(7);
}

При этом в последнем кадре 3-й сцены тоже должен быть стоп.

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

iNils 17.04.2007 18:24

Вложений: 1
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-ый кадр?
Можно.


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

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