Пример - №117.
Условие задачи:
Определите расстояния между точками U и V, V и W, W и U (рисунок 1). Сравните расстояние между точками U и W с длиной ломаной UVW. | Рисунок 1 |
Рисование
Стартовый вид фильма Flash, реализующего эту задачу, с указанием содержащихся в нём объектов, показан на рисунке 2.
Из рисунка 1 видно, что для нахождения искомых расстояний линейку надо вращать. Вращение объекта R1 реализуется с помощью кнопок и поля вводимого текста incangle. Величина, указанная в поле incangle, определяет угол поворота в градусах. Два экземпляра кнопки RotateButton обеспечивают вращение в двух направлениях (по часовой стрелке и против часовой стрелки). Ниже приводятся соответствующие сценарии.
Поворот против часовой стрелки (левая кнопка на рисунке 2):on (press)
{
//angle - угол наклона объекта R, область видимости - временная шкала, область изменения [0; 360)
//incangle - величина изменения угла наклона
if (angle>=360) { angle = angle-360; }
if (int(incangle)>360) { incangle = int(incangle)-360; }
if (angle<0) { angle = angle+360; }
R._rotation = angle-int(incangle); //Поворот R
angle = R._rotation;
}
on (press)
{
if (angle>=360) {angle = angle-360;}
if (int(incangle)>360) {incangle = int(incangle)-360;}
if (angle<0) {angle = angle+360;}
R._rotation = angle+int(incangle); //Поворот R
angle = R._rotation;
}
Из условия задачи видно, что она имеет однозначный ответ (а именно, UV=2, VW=3, UW=4, UW<UVW). Поэтому, обработка значений, введенных в текстовые поля a1...a4, сводится к объединению их в одну строку. Сценарий, размещённый в ключевом кадре основной временной шкалы, имеет вид:
stop ();
//Присвоение начальных значений переменным angle и incangle
incangle = 1;
angle = R._rotation;
//Определение пользовательской функции makeAnswer ()
function makeAnswer ()
{
a=mc1.a1.toString()+"_"+mc1.a2.toString()+"_"+mc1.a3.toString()+"_"+mc1.a4.toString();
}
makeAnsver();
Сценарий передачи ответа содержится в экземпляре mc1 видеоклипа MC:
onClipEvent (keyUp)
{
_root.makeAnswer();
fscommand ("1", _root.a);
}
Просмотреть результат в новом окне
Назад | К содержанию |
Далее |