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

Ardjuna 14.05.2014 00:51

Как сделать мини опрос?
 
Добрый вечер, ребята, подскажите пожалуйста как сделать опрос.
Мне нужно что бы в одном кадре было 4 кнопок с вариантами ответа из них 3 не верных и 1 верная. После того когда пользователь нажимает на кнопку переходит на следующий кадр, с другим вопросом и с другими вариантами ответа и на 6 слайде вывести результат опроса от того как ответил пользователь. Как сделать теоретически немного навыков имею, но как реализовать это в код не как не получается. У меня диплом на носу решился делать на AS3 так как хочу освоить его и занимается в дельнейшем. Может кто то подскажит с чего мне начать или даст другие варианты что бы можно было по ковыряться в коде.

ObOs 14.05.2014 11:43

Сохраняем структуру вопросов во внешнем XML файле. При старте приложения загружаем XML, парсим его в массив вопросов.
По очереди добавляем на сцену визуальное представление каждого элемента массива. По мере того как пользователь отвечает на вопросы сохраняем результат, допустим, в тот же массив.
Закончились вопросы - выводим результат.

Ardjuna 14.05.2014 12:18

Зачем мне XML, если я хочу сделать на AS3. Жду других ответов. Заранее спасибо.

ObOs 14.05.2014 12:39

Цитата:

Сообщение от Ardjuna (Сообщение 1165818)
Зачем мне XML

Вот принесете вы свою работу дипломному руководителю, а он скажет:
Дорогой, Ardjuna, а давай сделаем не 5 вопросов а 8. Переделай пожалуйста.
А вы ему скажете:
А переделывать особо ничего не надо.
Откроете при нем XML файл и вобьете еще 3 вопроса. И вуаля. Все работает, и приложение компилировать заново не надо. Здорово же.

Ardjuna 14.05.2014 12:43

Это все конечно замечательно, а как это реализовать? В XML вообще не бум бум.

Добавлено через 2 минуты
Если вы человек не сильно занятой возможно будет связаться с вами по скайпу, и вы мне расскажите или может поможете это реализовать. Буду очень признателен.

ObOs 14.05.2014 13:22

Цитата:

Сообщение от Ardjuna (Сообщение 1165821)
В XML вообще не бум бум.

Не такой уж страшный этот XML как кажется на первый взгляд. И XML я предложил как вариант. Можно хранить вопросы и в обычном текстовом виде, вопрос в разборе загруженной информации. Просто для работы с XML во флеш уже все есть.

Я бы делал примерно такую структуру

Код:

<questions>
        <question id=1 text="Сколько будет 2х2?">
                <answers>
                        <answer id="1" text="Пять" isTrue="0"></answer>
                        <answer id="2" text="Четыре" isTrue="1"></answer>
                        <answer id="3" text="Сто три" isTrue="0"></answer>
                </answers>
        </question>
        <question id=2 text="Лучший форум о flash?">
                <answers>
                        <answer id="1" text="site.com" isTrue="0"></answer>
                        <answer id="2" text="flasher.ru" isTrue="1"></answer>
                        <answer id="3" text="site2.com" isTrue="0"></answer>
                </answers>
        </question>
</questions>

О том как работать с XML в AS можно почитать здесь.

Ardjuna 14.05.2014 15:06

Благодарю ObOs за ответ. Буду рад услышать другие варианты от других людей. Заранее спасибо.

MikroAcse 14.05.2014 16:48

А чем тебе этот вариант не понравился?

elder_Nosferatu 14.05.2014 22:20

Цитата:

Сообщение от MikroAcse (Сообщение 1165834)
А чем тебе этот вариант не понравился?

А ты прочитай заглавный пост топик-стартера. По моему человек не на ActionScript решил делать свою дип-работу, а на Флеше. Ему нафиг не нужны ни хмл, ни код (с классами, пакетами, в отдельых файлах и все такое), ни программирование вообще. Он хочет просто все нарисовать и спрашивает, как эту штуку оживить.

Добавлено через 7 минут
Цитата:

Сообщение от ObOs (Сообщение 1165823)
Код:

        ... isTrue="0" ...
        ... isTrue="1"...


Зачем вводить дополнительный параметр? На вопрос будет только один правильный ответ. Можно просто в первый узел прописать правильный, а в остальных неправильные ответы. А при выводе рандомно раскидать варианты ответов. Параметр верности имеет смысл только если правильных и не правильных ответов может быть больше одного одновременно.

Ardjuna 14.05.2014 22:47

Цитата:

Сообщение от elder_Nosferatu (Сообщение 1165852)
А ты прочитай заглавный пост топик-стартера. По моему человек не на ActionScript решил делать свою дип-работу, а на Флеше. Ему нафиг не нужны ни хмл, ни код (с классами, пакетами, в отдельых файлах и все такое), ни программирование вообще. Он хочет просто все нарисовать и спрашивает, как эту штуку оживить.

Спасибо что ответил, ну тему создавал не для того что бы меня критиковать, для этого есть много других форумов где таких как ты море. Писать я решил действительно на AS3, читал много литературы и смотрел видео уроков. По уроком все понятно и ясно, но когда начинаешь делать сам понимаешь что в голове каша, и как ее разложить по тарелочкам это отнюдь не просто. Я понимаю что вы все сдесь гуру в АS3, но хочется тоже начать делать что то, пусть это будет с чей то помощью, но так мозги начинают работать.

Я вот нацарапал код, уверен в нем море ошибок. Будьте добры скажите в чем я сделал ошибки и что нужно исправить.
Код AS3:

package  {
        import flash.display.Sprite;
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.net.URLRequest;
        import flash.net.URLLoader;
        import flash.net.URLRequestMethod;
        import flash.net.URLLoaderDataFormat;
        import flash.net.URLVariables;
 
 
        public class start extends MovieClip {
 
                public function start() {
                        var myXML:XML = new XML();
                        var XML_URL:String = "file:///D:/diplom/s.html";
                        var myXMLURL:URLRequest = new URLRequest(XML_URL);
                        var myLoader:URLLoader = new URLLoader(myXMLURL);
 
                        myLoader.addEventListener("complete", xmlLoaded);
 
                        function xmlLoaded(event:Event):void {
                        myXML = XML(myLoader.data);
                        trace("Data loaded.");
}
 
                }
 
        }
 
}

В фале s.html

<questions>
<question id=1 text="Сколько будет 2х2?">
<answers>
<answer id="1" text="Пять" isTrue="0"></answer>
<answer id="2" text="Четыре" isTrue="1"></answer>
<answer id="3" text="Сто три" isTrue="0"></answer>
</answers>
</question>
<question id=2 text="Лучший форум о flash?">
<answers>
<answer id="1" text="site.com" isTrue="0"></answer>
<answer id="2" text="flasher.ru" isTrue="1"></answer>
<answer id="3" text="site2.com" isTrue="0"></answer>
</answers>
</question>
</questions>

Не судите строго, пытаюсь хуть как то вникнуть


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

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