Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Задача: Диалог (http://www.flasher.ru/forum/showthread.php?t=205979)

SlayerDUDE 05.01.2014 04:58

Задача: Диалог
 
Hi! В универе дали задачу создать анимированный опросник.
Суть: На экране есть персонаж. Слоем выше располагается табличка с вопросами.
В слое с персонажем так же располагаются ответы на вопросы, т.е. несколько вариации того,
какая анимация заиграет при выборе одного вопроса из той самой таблицы.
Схема проекта:

[Слой0, имя:Вопросы]
*[Кадр1: Вопрос А; Вопрос Б; Вопрос Ц]
*[Кадр2: Вопрос Ы]
[Слой1, имя:Ответы]
*[Кадр1: СимволX]
*[Кадр2 - СимволY]
*[Кадр12 - СимволY2]
*[Кадр4 - СимволZ]
*[Кадр24 - СимволZa]


В примере выше я пытался показать, что в слое0 вопросы - это обычные кнопки, а в слое1 на таймлайне, к каждом кадре лежат символы, в которых и запакованы анимации ответов.
Как сделать так, :
1. чтобы каждый вопрос был привязан к своему символу?
2. чтобы в вопросе были подвопросы. К примеру после того, как ответ на вопрос Ц получен, показалась таблица, что на 2м кадре с вопросом Ы и ответом был СимволZa?
3. чтобы вопрос можно было задать еще один раз, но ответ уже был немного изменен?
Так, к примеру, однажды вопрос Б уже был задан, захотелось задать его еще раз, но теперь вместо символаY заиграла анимация символаY2.
4. чтобы заданные 2жды вопросы исчезали, либо тускнели?
Надеюсь в вашей помощи!

P.S: прошу не посылать меня штудировать учебники/справочники по AS3, я уже около недели этим занимаюсь в свободное от работы время.

Kind regards, Артур.

Eric Gurt 05.01.2014 15:15

Что если всю анимацию сделать на одном таймлайне, первый кадр каждой анимаци как-то назвать, а при нажатии на кнопки gotoAndPlay("название кадра"); ?

SlayerDUDE 05.01.2014 16:35

Спасибо за ответ! Наткнулся на подводный камень. Порядок моих действий:
слой 1 - создал 15 кадров, в каждых 5ти нарисовал разные анимации
слой 2 - создал 3 кнопки, выбрал одну, F9: Current selection cannot have actions applied to it.
Прошерстил инет на болезнь, асашаевцы говорят, мол, AS3 не поддерживает программирование кнопок, так что либо проект нужно даунгрейдить до AS2, либо искать другой выход без использования кнопки.
Есть идеи?

in4core 05.01.2014 16:48

Не использоввать AdobeFlash и писать все программным способом. там и кнопки вам будут и все остальное

SlayerDUDE 05.01.2014 17:51

Спасибо за ответ! Дело в том, что нужна именно живая анимация, так то конечно и в делфи можно это реализовать, но... опять же нужна анимация. Вообще была идея задействовать движок RenPy, что используется для создания визуальных новелл, но он дает только статичные изображения.

samana 05.01.2014 18:07

Я думаю имеется ввиду лучше отказаться от перехода по кадрам туда-сюда. Всё сделать в одном кадре, и вся логика (когда, какую анимацию проигрывать, что показыать или скрыть) - сделать с помощью кода, а не с помощью кадровых переходов.

SlayerDUDE 05.01.2014 18:42

Спасибо за ответ! В таком случае не подскажете как это сделать? Прошу дать хотя бы наводку, примеры...

Akopalipsis 05.01.2014 18:44

Цитата:

AS3 не поддерживает программирование кнопок
То есть, если нарисовать прямоугольник и повесить на него событие клика, клик не сработает?
Мне кажется, что Вы не правильно поняли. Или я..

Isfet 05.01.2014 19:26

Цитата:

Сообщение от SlayerDUDE (Сообщение 1156542)
Спасибо за ответ! В таком случае не подскажете как это сделать? Прошу дать хотя бы наводку, примеры...

хранить где-то JSON(или XML) всех вопросов такой структуры (на примере JSON)
Код:

"question":[
        {
                "number":1,  //номер вопроса
        "text":"Сколько будет 2+2 ?",//текст вопроса
        "A":"5",//ответы
        "B":"1",
        "C":"4",
        "answer":"C"    //правильный ответ
        },
        {
                "number":2,
        "text":"Как зовут Пушкина?",
        "A":"Вася",
        "B":"Петя",
        "C":"Коля",
        "answer":"B"
        }
]

потом подгружаете JSON во флешку, делаете функцию, которая будет создавать(случайные) классы-вопросы, которые и будут размещены на сцене, нажимаете на правильный ответ, проверяется случайная анимация, как-то так,

с кнопками нет никаких проблем, забудьте о том что вы прочитали.

Wolsh 05.01.2014 19:27

Цитата:

AS3 не поддерживает программирование кнопок, так что либо проект нужно даунгрейдить до AS2
Имеется в виду написание скрипта "на самой кнопке", как это было в AS 0.5, то есть когда не было языка а был только набор скриптовых команд. AS2 еще поддерживал такой механизм для совместимости, в AS3 это совершенно невозможно))) Но это же не значит, что "нельзя программировать кнопки", не смешите.

Цитата:

В таком случае не подскажете как это сделать?
Перестать воспринимать флэш-ролик как киноленту с метками на кадрах. Представьте это как живую презентацию — вам задают вопрос, вы выбираете нужную кассету и вставляете в проектор.
Кассеты это отдельные ролики (МувиКлипы), которые Вы добавляете на экран ("на сцену") когда нужно и затем убираете. Сам экран "неподвижен", у него нет кадров и таймлайна. Он как рабочий стол, на котором Вы открываете один ролик, другой. Ролики хранятся в библиотеке, им присвоены классы. Вы создаете экземпляр нужного класса и добавляете его в отображение, затем убираете и добавляете другой.


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

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