Форум 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 это совершенно невозможно))) Но это же не значит, что "нельзя программировать кнопки", не смешите.

Цитата:

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

SlayerDUDE 05.01.2014 19:41

Спасибо за ответы!
>>нельзя программировать кнопки
Согласен, немного перегнул, ибо если бы это и было так, смысл в кнопках вообще бы пропал.
Что касается выше написанных ответов, буду пробовать, правда сомневаюсь, что что-то получится с моими то никакими знаниями программирования. Вот так бывает, когда уборщику дают докторскую работу =)
Тем не менее если найдутся энтузиасты объяснить на пальцах как реализовать мои задачи, буду примного благодарен, в долгу не останусь!
Ну а пока продолжу создавать анимации ответов и паковать их в мувиклипы...

Akopalipsis 06.01.2014 00:30

Если ещё не кто не откликнулся, то могу ПОПРОБОВАТЬ помочь, но с одним условием - Вы сделаете fla проект с двумя анимациями, который будут разделены на клипы и сохранены в библиотеке. Так же их размеры должны быть реальными. И ещё пару вопросов и ответов. И чтобы анимация и вопросы были без чего либо, что может испортить чаепитие. И тут всё выложить в архиве.

in4core 06.01.2014 01:59

Цитата:

не кто
Некто никогда не откликается)))

Isfet 06.01.2014 02:29

Цитата:

Сообщение от Akopalipsis (Сообщение 1156566)
могу ПОПРОБОВАТЬ помочь

Смотря что нужно ТС, хочет ли он научиться, или же ему нужен готовый к сдачи проджект, мне почему-то кажется что копипаст предпочтительней для ТС. ) А вообще, я придерживаюсь такого правила: Есть проблема - она не имеет решения, есть задача - она всегда имеет решение - следовательно чтобы решить проблему нужно разбить ее на задачи. Так и вы, нужно разбить проблему на задачи, и тогда форумчане помогут, каждый по отдельному пункту, а так вы просите что-то из рода "Научите меня на пальцах как строить корабль".

А вообще я бы сравнил флеш с Фотошопом, если вы там когда то работали, там есть слои, в слое можно еще создавать слой, и так далее. Так и во флеше, есть у вас экран, вы добавляете на него слой вопроса, в слоу вопроса добавляете слои ответов, кнопок, текстов вопроса и анимацию, когда пользователь ответил на вопрос, удаляем слой вопроса и заного создаем слой другого вопроса.

SlayerDUDE 06.01.2014 15:50

Огромное спасибо за ваши ответы, господа! Я рад, что попал в позитивную аудиторию.
>>Isfet: Смотря что нужно ТС, хочет ли он научиться, или...
Хочу научиться! И я понимаю, что учиться придется многому, на это нужно время которого у меня, с одной стороны предостаточно - на работе к примеру, с другой стороны проект мне универу нужно засветить в эту среду, так что поджимает время... =(
>>Akopalipsis: могу ПОПРОБОВАТЬ помочь...
Вам отдельное спасибо за попытку! Как буду дома набросаю 3 анимации-ответы и табличку с вопросами.
А вообще у меня идея: я набросаю полную презентацию того, что мне нужно и выложу демку сюда +архив с исходником.
>>in4core: Некто никогда не откликается)))
Думаю "Никто никогда" будет правильней :D
Еще раз всем спасибо.

Akopalipsis 06.01.2014 16:25

Цитата:

я набросаю полную презентацию того, что мне нужно и выложу демку сюда +архив с исходником.
Сразу скажу, что я только учусь и полная Ваша презентация меня может только запутать.
Так что сделайте, как я просил ранее. А потом Вы её сами доделаете.

ZackMercury 08.01.2014 15:47

Цитата:

>>in4core: Некто никогда не откликается)))
Думаю "Никто никогда" будет правильней
Это вообще-то был сарказм(если я правильно понял).


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

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