![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 16
|
Всем заранее спасибо кто сможет мне помочь по следующим вопросам.
Я собрался на flash сделать небольшой тест. Так как занимаюсь я им относительно недавно, возникло несколько вопросов как это сделать лучше. Для начала, скажем так, просто для проверки все вопросы а так же ответы решил положить в файл. Который соответственно будет считываться из клипа. Выглядит это в файле примерно будет так: &voprosi=2 // количество вопросов в данномслучае 2 &bal1=5 // сумма если ответит на простой вопрос &bal2=10 // ------- соответсвенно на сложный вопрос &text1="сам вопрос" // переменная с текстом вопроса &var1_1=а) ответ 1 &var1_2=в) ответ 2 // варианты ответов &var1_3=а) ответ 3 &var1_4=в) ответ 4 &verno1=2 // переменная с правильным ответом &var2_1=а) ответ 1 &var2_2=в) ответ 2 &var2_3=а) ответ 3 &var2_4=в) ответ 4 &verno2=4 И.Т.Д Вообщем это обыкновеенный тест, только на flash. Т.е человек жмет на на кнопку с ячейкой вопроса и в динамических полях должно появляться соответсвенно значение переменных расположенных в файле. Но дело еще в том, что все эти вопросы делятся еще на сложные и не сложные и соответсвенно за каждый из получает определенное количество балов. Так вот, конечно же сразу пришли мысли залить это все в массив. Отдельно вопросы, отделльно варианты ответов, и отдельно правильные ответы. И вот тут то как раз и начали появлятся различные вопросы. Во первых хотел сделать двухмерный массив для вариантов ответов, но понял что в AS еще совсем "молодой". Да и еще как вообще на AS можно организовать проверку на правильный ответ?? Пытался применить знания Paskal'a и Delphi, но что то не то.. Вообщем если кто знает или уже готовил подобные вещи выскажите идеи как лучше такие вещи организовать или киньте ссылки с похожими скриптами. |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
для исходных данных я бы использовал xml. все соображения.
зы: про двумерные массивы в ФАКе было |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Jul 2005
Адрес: Moldova, Rep. of
Сообщений: 569
|
так как автор новичёк во Флеше то наверно ему с хмл будет ещё труднее...
FlashMann ты задай конкретный вопрос - оветят! |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 16
|
Да ты прав в том что я новичек в этом деле.. До этого только если я и работал во Flash то только не вникая в программирование Action Script.
Насчет XML . Да я посмотрел как на нем создаются документы, попытался перевести то что мне надо. Но действительно так как я его вообще не знаю да и плюс ко всему синтаксис у него всетки гораздо сложней чем просто в если в txt файле если писать.... Так думаю надо работать с простым файлом (пока). Значит если более конкретно то вопрос (точнее несколько вопросов) будет звучать так: Как вы поняли в приведенем примере выше все вопросы, варианты ответов, количесво балов будет считываться из переменных в файле. Так скажите как лучше считать их от туда(думаю тут кроме как в массив больше никак)? Все данные залить в разные массивы и с ними работать? Еще я имею ввиду может так как у меня примерно так var1_1, var1_2 .... varn_n.. Может лучше в двухмерный массив заливать, но яще не знаю как построить цикл в таком случае на AS.. Принцип действия игры должно быть примерно такой: Есть поле, на нем ячейки с разделенными по сложности вопросами(всего 2 сложности), соответственно и стоимость их разная. так вот при нажатии должен в динам. поле отображаться вопрос и вдругих динам. полях варианты ответов (четыре). Человек нажимает на правильный плучает столько то балов, но тест дальше не идет как обычно пока он не нажмет следующую ячейкку с вопросом.. примерно так.. Мне надо знать вообще как лучше организовать данную проверку на правильность ответа на вопрос.? И каким образом напрмер если я считаю эти все переменные в массив на первых кадрах фильма и потом буду с ним работать в цикле.. каким образом например прирывать цикл после первого прохода (когда отображается вопрос), а затем когда нажимаешь другую ячейку с вопросом он стартовал не сначала а продолжил? Вообще хотел чтобы вопросы шли всетки не подряд (1,2,3,4..) а в разброс. Скажите такое ожно сделать в конкретном примере и в данном случае? Но опять как тогда сделать чтобы данному вопросу сопоставить конкретную подсказку..? И еще я уже писал что в основном работал до этого на Paskale, Delphi.. но тут столкнувшись с этим языком все по другому (особенно синтаксис языка). Так вообщем помогите с советами (лучше примерами) если не трудно. |
|
|||||
|
а выбор сложности вопросы происходит при каждом следующем шаге или только в начале? если в начале то просто используй два разных файла: сложность А, сложнось В.
А вообще просто загружаешь все переменные a клип, а потом последовательно их выводишь в текст поля. Здесь главное задать правильные имена переменным, например whatA1 - это первый вопрос сложности A whatA11 - это первый вариант ответа первого вопроса сложности А whatA12 - это второй вариант ответа первого вопроса сложности А whatA1_ - это верный ответ. а потом просто динамически создаешь переменные во флеше. основа "what", к которой приписываешь необходимые символы для получения тех или иных переменных. вот тебе никаких xml, массивов.. всё в тексте |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
вот код, воткни в рут:
this.xml_url = _root.xml_url.length ? _root.xml_url : 'test.xml';
this.in_xml = new XML();
this.in_xml.ignoreWhite = true;
this.in_xml._parent = this;
this.in_xml.onLoad = function(ok) {
if (this.status or !ok) {
return trace('loaded: '+ok+' valid: '+!this.status);
}
this._parent._question = 0;
};
this.in_xml.load(this.xml_url);
//
this.createProperty = function() {
delete this.createProperty
var saved_value;
this.addProperty('_question', function () {
return saved_value;
}, function (val) {
saved_value = val;
var node = this.in_xml.firstChild.childNodes[val]
this.buildQuestion (node)
});
};
this.createProperty()
//
this.buildQuestion = function (in_xml) {
trace("\nbuildQuestion: \n"+in_xml.childNodes.join("\n"));
}
//
this.onMouseUp = function () {
this._question++
}
<test> <question> <q>Пиво будешь?</q> <a score="1">Буду</a> <a score="2">Буду!</a> <a score="3">Буду!!!!</a> <a score="0">Нет. Завязал.</a> </question> <question> <q>Водку будешь?</q> <a score="1">Буду</a> <a score="2">Буду!</a> <a score="3">Буду!!!!</a> <a score="0">Нет. Завязал.</a> </question> <question> <q>Бабу будешь?</q> <a score="1">Буду</a> <a score="2">Буду!</a> <a score="3">Буду!!!!</a> <a score="0">Нет. Завязал.</a> </question> </test> тебе нужно в buildQuestion аттачить мувик, передавая ему узел. мувик в классе, в конструкторе должен смотреть передаваемый ему xml и выстраивать вопросы. количество баллов за ответ живет в атрибуте каждого ответа. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 16
|
Спасибо всем кто ответил..
Просто только счас до Инета добрался. Счас все попытаюсь попробывать что предложили. Потом скажу что и как.. |
|
|||||
|
[+1.1 04.03.2006]
|
Ja vot chetaju i dumaju - dlja chegoz togda Macromedia templaty delajet jestli ne dlja novichkov vo Flash????
__________________
design is like a puzzle, I`m just trying to solve it now... |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|