Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2012, 23:26
AlienCirl вне форума Посмотреть профиль Отправить личное сообщение для AlienCirl Найти все сообщения от AlienCirl
  № 1  
Ответить с цитированием
AlienCirl

Регистрация: Oct 2012
Сообщений: 10
Question Кнопка Назад в учебном тесте

Здравствуйте! Создаю тест для студентов, в котором используются различные типы тестовых заданий. Необходимо добавить кнопку "Назад", которая бы возвращала к предыдущему вопросу. Проблема с подсчетом верных ответов. Например, если человек ответил на первый вопрос, перешел на второй, потом снова вернулся на первый и ответил по другому, то подсчет баллов за этот ответ ведется дважды.
При использовании RadioButton сейчас обработка результата стоит на кнопке далее (т.е. человек выбирает ответ, нажимает далее и в этот момент проверяется, правильный он или нет). При использовании CheckBox (выбор нескольких правильных ответов) - на каждом флажке написан код обращения к функции. Функция простейшая - если выделены правильные ответы-флажки, то ответ правильный и идет начисление баллов.
P.S. Я - новичок)) Буду благодарна хотя бы за словесное описание, как нужно организовать проверку ответов, чтобы кнопка Назад работала как надо, и двойного подсчета результатов не было.
Предполагаю, что ответы должны проверяться на переходе на последний кадр, но как это организовать, не знаю.

Старый 06.10.2012, 09:31
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
В самом простом случае, навскидку, создайте первый кадр без теста, в нем уже создайте массив для хранения результатов теста.

Первый "пустой" кадр нужен для того, чтобы не создавать новый массив при переходе к первому вопросу. То есть сначала один раз объявляем массив для сохранения результатов, а потом уже заносим в него ответы.

В общем, у меня есть исходник, который очень похожим образом работает и, думаю, поможет вам.

test_example.rar

Если будут вопросы или нужно будет понизить версию исходника — обращайтесь.
__________________
hauts.ru

Старый 06.10.2012, 21:34
AlienCirl вне форума Посмотреть профиль Отправить личное сообщение для AlienCirl Найти все сообщения от AlienCirl
  № 3  
Ответить с цитированием
AlienCirl

Регистрация: Oct 2012
Сообщений: 10
Спасибо за идею и за образец. Смысл мне в общем понятен, но чтобы понять код построчно, нужно еще разбираться с языком. Просто у меня написано в целом всё более примитивно.
Например:
Код AS1/AS2:
 // stop();
prav_otv=0;
neprav_otv=0;
ball=0; // на первом, титульном кадре, на слое actions
 
on(click) {
	_parent.func_otv(this);
} // на каждом компоненте CheckBox
 
o1.enabled=true;
o2.enabled=true;
o3.enabled=true;
o4.enabled=true;
o1.selected=false;
o2.selected=false;
o3.selected=false;
o4.selected=false;
function func_otv(component) {
	if ((o1.selected==true) && (o2.selected==false) && (o3.selected==true) && (o4.selected==true))
	{
		prav_otv=prav_otv+1;
		ball=ball+2;
	}
} // на слое actions, где расположены CheckBoxы, oX - это Instance Name каждого CheckBoxа
 
on(release) {
	gotoAndStop("v-2");
} // на кнопке перехода на следующий вопрос с вопроса с CheckBox
 
on(release) {
	if (o2.selected==true) {
		prav_otv=prav_otv+1;
		ball=ball+1;
	}
	gotoAndStop("v-3");
} // на кнопке перехода на след.вопрос с вопроса с радиокнопками.
 
stop();
res_prav=prav_otv;
res_neprav=22-res_prav;
ballov=ball; // на последнем слайде, где расположены поля типа Dynamic text, в которых и выводится количество правильных ответов и набранных баллов

Добавлено через 1 минуту
Думаю, что из-за кнопки Назад придется переписать весь этот примитивный код)))

Добавлено через 26 часов 59 минут
Вопрос снят. Спасибо


Последний раз редактировалось mooncar; 07.10.2012 в 12:42.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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