Форум 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=67116)

Seeker 25.07.2005 15:02

навигация сцен
 
Помогите разобраться, плиз: для прехода с одной сцены на другую делаю две кнопки:
on (release){
nextScene(); // для возврата на предыдущую prevScene();
}
Работает тольки с двумя сценами (переходит с первой на втрую и обратно), со второй на третью и т.д.- не переходит. Как решить эту проблемку?

iNils 25.07.2005 15:05

этот код на каждой кнопке в каждой сцене?

Whatsername 25.07.2005 15:09

О сценах нужно знать одно - они не являются объектами ActionScript, и их использование не рекомендовано в фильмах, содержащих код.

После компиляции, сцены рассасываются - первый кадр второй сцены обозначен не "как первый кадр второй сцены", а как _curentFrame диаграммы без учета сцен. Понимашь?

iNils 25.07.2005 15:17

Не пугай человека. Сцены коррекно работают при понимании их особенностей. gotoAndStop ("Scene 2", 10) перебросит на 10 кадр именно сцены 2, а не абсолютный кадр клипа.

Seeker 25.07.2005 20:59

спасибо, ребята. это тоже решение: на каждой сцене прописывать сслыки перехода на ту или иную сцену. я, чесно говоря, так и сделала теперь.
а есть более красивое решение? скажем, написать код, который бы эти переходы осуществлял автоматически? буду очень благодарна, если кто-нибудь знает как это сделать.

KidsKilla 25.07.2005 21:09

_global.allScenes = ["Scene 1", "Scene 2"];
_global.currentScene = 0;

_global.myNextScene = function(frame){
gotoAndStop(_global.allScenes[_global.currentScene++], frame||1)
}

_global.myPrevScene = function(frame){
gotoAndStop(_global.allScenes[_global.currentScene--], frame||1)
}

@usage:
_global.myPrevScene(10); // предыдущая сцена 10й кадр
_global.myNextScene(); // след. сцена 1й кадр

Whatsername 26.07.2005 02:33

Нет уж, ты все-таки прочти:
http://vmstudio.com/materials.php?noscenes

iNils 26.07.2005 14:29

Цитата:

Сообщение от Whatsername
Нет уж, ты все-таки прочти:
http://vmstudio.com/materials.php?noscenes

Данная статья выражает лишь частное мнение автора. А фраза "Ну а раз их реально нет, то и Вам они не нужны." лишина всякой логики. Во флеше папок тоже нет, но мы же ими пользуемся, вернее кому удобно, тот пользуется.

При грамотном построении своей задаче, всегда можно определить удобно тебе использовать сцены или нет. Если я понимаю, что у меня будут абсолютно разные визуальные части, не имеющие между собой ничего общего, то почему нельзя использовать сцены если мне так удобнее?

Whatsername 26.07.2005 15:03

У тебя есть мнение об этой статье, так как ты, во-первых, знаком с описанным в ней подходом, и, во-вторых, прочел ее. Я предложил ознакомится с ней автору топика, так как, видимо, статья может открыть Seeker что-то новое.

Безусловно, если бы я организовал секты, публично устраивающие акты самосожжения против использования сцен во Flash, у тебя был бы повод к беспокойству.

В моих глазах, ты – хороший разработчик. Я принимаю твое мнение с должным вниманием. Обойдемся без фанатизма, OK?

iNils 26.07.2005 15:15

спешу всех успокоить :) я не фанатик сцен, я их даже не использую, но решил выступить в их защиту, так ничего плохого в них при граммотном подходе не вижу.

Seeker 29.07.2005 12:39

Вложений: 2
Хочу продолжить эту тему со сценами. Оказалась очень актуальной статья со сценами, котору посоветовал Whatsername. У меня как раз возникла необходимость отображения материала презентации в виде html-странички. Т.е. в левой части меню, в правой - контент. И этот пример (в статье) будет мне как раз кстати. Только объяните мне, пожалуйста, для чего нужны мувиклипы 1,2,3 и т.д, если мы создаем пустой мувик back и перекрываем его back_1, back_2 и т.д.?
Выкладываю исходник, в котором есть меню и нужно, чтобы при нажатии на кнопку в правой части проигрывался мувик, который соответствует содержанию. Он че-то вышел пузатенький :(, хотя я все ненужное удалила.
Помогите разобрать, пожалуйста!! А то дальнейшая работа зависит от понимания как раз этого.

Seeker 29.07.2005 16:26

Люди!!!
Вот на основе этого примера: http://vmstudio.com/materials.php?noscenes пытаюсь понять, как приаттачить новый мувик так, чтобы меню оставалось, а контент менялся.
Просветите!

Whatsername 29.07.2005 16:41

Давай сделаем так. Ты прочитаешь два рассказа по этим ссылкам:
---UPD---
file:///C:/Program%20Files/Macromedia/Flash%20MX/Help/Flash/html/30_asd_07_m45.html
file:///C:/Program%20Files/Macromedia/Flash%20MX/Help/Flash/html/30_asd_07_m101.html
---UPD---
А потом задашь свой вопрос еще раз. Это поможет нам выработать единый понятийный аппарат и ты сможешь закончить работу над проектом.

Seeker 29.07.2005 17:10

у меня нет в хелпе таких файлов :(. все перерыла.
я неверно формулирую то,что мне необходимо сделать? да, в As я такой круууугленький нолик, знаю только основы, если можно так выразиться. :)
выложи, плиз,эти ссылочки, я прочту.
по-моему, я нормально объяснила, что и как...

Whatsername 29.07.2005 17:28

Ссылки даны на статьи о MovieClip.attachMovie() и MovieClip.removeMovieClip(). Эти сатьи надо прочесть обязательно. После этого тебе станет понятно, что аттачить мувики можно не только в _root, но и в любой другой мувик. Последний иногда называется "целевым". В статье он назван back.

Таким образом, ты располагаешь меню там где хочешь его видеть. И больше к нему не обращаешься.

В месте контента кладешь пустой ("целевой") мувик (допустим, "blank_mc").

Для событий кнопок меню прописываешь загрузку в blank_mc контента, соответсвующего твоим разделам.

Такую красоту, как в статье с плавной заменой мувов, можно не реализовывать - это частности. Главное - принцип. Он тебе понятен?

Seeker 29.07.2005 19:25

Подскажи, Whatsername, как точно задать координаты точек куда аттачится мувик? Я делаю так: беру мувик, кладу его туда, где он должен появляться, выставляю ему точку регистрации в верхний левый угол и эти координаты прописываю. Но он выезжает не так. Где у меня ошибка?

on (release){
_root.createEmptyMovieClip("blank_mc",0);
blank_mc.attachMovie("asutp","new_asutp",0,{_x:443.7,_y:33.6});
trace([blank_mc.asutp._x, blank_mc.asutp._y]);
}

Whatsername 29.07.2005 20:08

Код:

button_btn.onRelease = function() {
        // если blank_mc существует
        if (this._parent.blank_mc) {
                // удалим его на фик
                this._parent.blank_mc.removeMovieClip();
        }
        this._parent.createEmptyMovieClip("blank_mc", 0);
        this._parent.attachMovie("test", "test1_mc", 0);
        // задаем его координаты
        this._parent.test1_mc._x = 550;
        this._parent.test1_mc._y = 400;
};



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

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