1. Создаём новый флэш-проект, называем его golosovanie. Устанавливаем размер сцены 150x400 пиксел. Первый кадр оставляет пустым, но в Action кадра определяем начальные параметры. Задаём массив номеров зачёток студентов, которые могут участвовать в голосовании, определяем переменные для каждой фамилии преподавателя. В первом кадре пишем код:
var avd :SharedObject = SharedObject.getLocal("avd");
var ban :SharedObject = SharedObject.getLocal("ban");
var bat :SharedObject = SharedObject.getLocal("bat");
var bor :SharedObject = SharedObject.getLocal("bor");
var bik :SharedObject = SharedObject.getLocal("bik");
var gal :SharedObject = SharedObject.getLocal("gal");
var laz :SharedObject = SharedObject.getLocal("laz");
var rgo :SharedObject = SharedObject.getLocal("rgo");
var tam :SharedObject = SharedObject.getLocal("tam");
var tit :SharedObject = SharedObject.getLocal("tit");
var che :SharedObject = SharedObject.getLocal("che");
var shf :SharedObject = SharedObject.getLocal("shf");
var n :SharedObject = SharedObject.getLocal("n");
var x :Array = new Array();
x[0]='000001'
x[5]='000002'
x[2]='000003'
x[3]='000004'
x[4]='000005'
x[5]='000006'
x[6]='000007'
x[7]='000008'
x[8]='000009'
x[9]='000010'
x[10]='000011'
// Значение массива x может быть любым
// Если значение свойства openCounter не определено − первое открытие
if (n.data.openCounter == undefined) {
n.data.openCounter = 1;
avd.data.openCounter = 0;
ban.data.openCounter = 0;
bat.data.openCounter = 0;
bor.data.openCounter = 0;
bik.data.openCounter = 0;
gal.data.openCounter = 0;
laz.data.openCounter = 0;
rgo.data.openCounter = 0;
tam.data.openCounter = 0;
tit.data.openCounter = 0;
che.data.openCounter = 0;
shf.data.openCounter = 0;
}
if (n.data.openCounter >= 100) {
gotoAndPlay(3);
}
xtab=5
avd_l._x=xtab;
ban_l._x=xtab;
bat_l._x=xtab;
bor_l._x=xtab;
bik_l._x=xtab;
gal_l._x=xtab;
laz_l._x=xtab;
rgo_l._x=xtab;
tam_l._x=xtab;
tit_l._x=xtab;
che_l._x=xtab;
shf_l._x=xtab;
2. Оформляем второй кадр. Нажимаем F7 (создаётся пустой новый кадр), вставляем текстовые поля с названием проекта, фамилиями преподавателей (на отдельном слое), как на рисунке ниже. Справа для каждой фамилии вставляем из панели Components кнопку Radio Button (серый кружок) cо следующими именами (сверху вниз): b_avd, b_ban, b_bat, b_bor, b_bik, b_gal, b_laz, b_rgo, b_tam, b_tit, b_che, b_shf, которые пишем на панели Properties. Под текстовым полем с фамилиями преподавателей вставляем пустое динамическое поле с именем mess (на панели Properties), еще ниже вставляем из панели Components (Ctrl+F7) Text Input с именем zachetka и Button с именем but1.
Далее вставляем текстовое поле "Результаты голосования" и кнопку "Посмотреть" с именем result.
Во втором кадре пишем следующий код:
clear();
mess.text='Введите № своей зачётки'
result.onRelease=function(){
gotoAndPlay(3);
}
but1.onRelease=function(){
for (i=0; i if (zachetka.text==x[i]){ n.data.openCounter++ if (b_ban.selected){ ban.data.openCounter++ } if (b_avd.selected){ avd.data.openCounter++ } if (b_bat.selected){ bat.data.openCounter++ } if (b_bor.selected){ bor.data.openCounter++ } if (b_bik.selected){ bik.data.openCounter++ } if (b_gal.selected){ gal.data.openCounter++ } if (b_laz.selected){ laz.data.openCounter++ } if (b_rgo.selected){ rgo.data.openCounter++ } if (b_tam.selected){ tam.data.openCounter++ } if (b_tit.selected){ tit.data.openCounter++ } if (b_che.selected){ che.data.openCounter++ } if (b_shf.selected){ shf.data.openCounter++ } gotoAndPlay(3); } //if else { mess.text='Вы не можете голосовать!' } } } stop(); 3. Создаём 3-й кадр, в котором расположим
результаты голосования. Располагаем на нём текстовое поле "Результаты
голосования:", ниже − 12 динамических текстовых полей для каждого
преподавателя из списка, расположенных справа от фамилий с именами на
панели Properties (ngolosavd, ngolosban, ... , ngolosshf − слова
красным цветом, как на картинке ниже). Слева от фамилий располагаем 12
копий пустого мувика, с именами avd_l, ban_l, ... , shf_l (имена выделены
красным цветом). Затем вставляем текст "Количество проголосовавших" и
справа − динамическое поле с именем ngolos. В третьем кадре пишем такой код: clear(); lineStyle(8, 0x035797); koef=100/n.data.openCounter ban_l._x=xtab+ban.data.openCounter*koef; moveTo(ban_l._x,ban_l._y); curveTo(ban_l._x,ban_l._y,xtab,ban_l._y); ngolosban.text=Math.round(ban.data.openCounter*koef)+'%' avd_l._x=xtab+avd.data.openCounter*koef moveTo(avd_l._x,avd_l._y); curveTo(avd_l._x,avd_l._y,xtab,avd_l._y); ngolosavd.text=Math.round(avd.data.openCounter*koef)+'%' bat_l._x=xtab+bat.data.openCounter*koef; moveTo(bat_l._x,bat_l._y); curveTo(bat_l._x,bat_l._y,xtab,bat_l._y); ngolosbat.text=Math.round(bat.data.openCounter*koef)+'%' bor_l._x=xtab+bor.data.openCounter*koef moveTo(bor_l._x,bor_l._y); curveTo(bor_l._x,bor_l._y,xtab,bor_l._y); ngolosbor.text=Math.round(bor.data.openCounter*koef)+'%' bik_l._x=xtab+bik.data.openCounter*koef; moveTo(bik_l._x,bik_l._y); curveTo(bik_l._x,bik_l._y,xtab,bik_l._y); ngolosbik.text=Math.round(bik.data.openCounter*koef)+'%' gal_l._x=xtab+gal.data.openCounter*koef moveTo(gal_l._x,gal_l._y); curveTo(gal_l._x,gal_l._y,xtab,gal_l._y); ngolosgal.text=Math.round(gal.data.openCounter*koef)+'%' laz_l._x=xtab+laz.data.openCounter*koef; moveTo(laz_l._x,laz_l._y); curveTo(laz_l._x,laz_l._y,xtab,laz_l._y); ngoloslaz.text=Math.round(laz.data.openCounter*koef)+'%' rgo_l._x=xtab+rgo.data.openCounter*koef; moveTo(rgo_l._x,rgo_l._y); curveTo(rgo_l._x,rgo_l._y,xtab,rgo_l._y); ngolosrgo.text=Math.round(rgo.data.openCounter*koef)+'%' tam_l._x=xtab+tam.data.openCounter*koef moveTo(tam_l._x,tam_l._y); curveTo(tam_l._x,tam_l._y,xtab,tam_l._y); ngolostam.text=Math.round(tam.data.openCounter*koef)+'%' tit_l._x=xtab+tit.data.openCounter*koef; moveTo(tit_l._x,tit_l._y); curveTo(tit_l._x,tit_l._y,xtab,tit_l._y); ngolostit.text=Math.round(tit.data.openCounter*koef)+'%' che_l._x=xtab+che.data.openCounter*koef moveTo(che_l._x,che_l._y); curveTo(che_l._x,che_l._y,xtab,che_l._y); ngolosche.text=Math.round(che.data.openCounter*koef)+'%' shf_l._x=xtab+shf.data.openCounter*koef; moveTo(shf_l._x,shf_l._y); curveTo(shf_l._x,shf_l._y,xtab,shf_l._y); ngolosshf.text=Math.round(shf.data.openCounter*koef)+'%' ngolos.text=n.data.openCounter stop(); 4. Запускаем ролик, голосуем за понравившегося
преподавателя и смотрим результаты голосования.