Создаем три слоя
1)Action
2)Экран
3)кнопки
1)На слое Экран берём Text tool и рисуем наше табло
в properties ставим Dynamic text в Var вписываем переменную rez
2)На слое Action на первом кадре пишем
Делаем так, чтобы на табло изначально стоял ноль
rez="0"; FirstP=true; oper=""; stop();
3)Теперь самое основное, переходим на слой кнопки
и создаем наши цифры от 1 до 9 и 0 при помощи text tool
каждую из цифр конвертируем в символ и делаем её button
При нажатии на кнопку будет появляться 1
Единица:
on(press, keyPress "1"){ if(FirstP==true) { rez="1"; FirstP=false; } else { rez=rez+"1"; } }
следующие цифры имеют такой же код только с заменой 1 на соответствующую цифру
А вот для 0 код немного отличается делаем так, чтобы 0 нельзя было напечатать первым
on(press, keyPress "0"){ if(rez<>"0") { rez=rez+"0"; FirstP=false; } }
3)Теперь берем text tool и создаем С и СЕ (первое соответствует стиранию всего поля
а второе по одному символу)(не забудьте конвертировать их в кнопку)
С
on(press, keyPress "<Escape>"){ rez="0"; FirstP=true; oper=""; }
СЕ:
on(press, keyPress "<Backspace>"){ len=rez.length; rez=rez.substring(0,len-1); if(rez=="") { rez="0"; FirstP=true; } }
4) При помощи text tool создаем + и -
конвертируем их в символ и делаем кнопкой
Плюс:
on(press, keyPress "+"){ oper="plus"; a=Number(rez); FirstP=true; }
Минус:
on(press, keyPress "-"){ oper="minus"; a=Number(rez); FirstP=true; }
5)Теперь делаем корень и квадрат
Проделываем всё как обычно,берём text tool корень можно заменить на VX
А квадрат делается так: сначала печатаете X а потом 2 выделяем 2 и в properties
character position выставляем superscript
Конвертируем оба в символы и выбираем button
Корень:
on(press,keyPress "@"){ X=Number(rez); X=Math.sqrt(X); rez=String(X); FirstP=true; }
Квадрат:
on(press,keyPress "@"){ X=Number(rez); X=X*X; rez=String(X); FirstP=true; }
6)Ну и наконец берём text tool и создаем синус, арккосинус и равно
конвертируем в символы и вписываем код
Синус:
on(press){ X=Number(rez); X=(X*Math.PI)/180; X=Math.sin(X); rez=String(X); FirstP=true; }
Арккосинус:
on(press){ X=Number(rez); if(Math.abs(X)<=1){ X=Math.acos(X); X=(X*180)/Math.PI; rez=String(X); FirstP=true; } }
Равно:
on(press, keyPress "="){ b=Number(rez); if(oper=="plus") { c=a+b; rez=String(c); } if(oper=="minus") { c=a-b; rez=String(c); } FirstP=true; }