Сведения о реализации курсовой работы




Содержание

1. Введение…………………………………………………….………………2

2. Общие сведения…………………………………………….………………3

3. Сведения о реализации курсовой работы……………….………………..5

4. Структура организаци проекта…………………………………….……...6

4.1. О структуре проекта……………………………….…….………6

4.2. Содержание «Calc_Evgen.fla»……………………………….…..6

4.3. Содержание «Interpretater.as»……………………………….………12

4.4. Содержание «Calc_Evgen.swf»………………………………...16

5. Заключение………………………………………………………………..17

6. Список использованной литературы…………………………………….18

 

 

1. Введение

 

В настоящее время интернет-технологии развиваются быстрыми темпами, и все большее распространение находят программные продукты позволяющие создавать приложения и анимацию, доступные для отображения и использования непосредственно в веб-браузере пользователя.

К таким программным продуктам можно отнести: Adobe Gif Animator, 3DS Max, Corel R.A.V.E., Adobe Flash, Maya и многие другие.

Adobe Flash (ранее Macromedia Flash), или просто Flash — мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.

Платформа включает в себя ряд средств разработки, прежде всего Adobe Flash Professional и Adobe Flash Builder (ранее Adobe Flex Builder); а также программу для воспроизведения flash-контента — Adobe Flash Player, хотя flash-контент умеют воспроизводить и многие плееры сторонних производителей. Например, SWF-файлы можно просматривать с помощью свободных плееров Gnash или swfdec, а FLV-файлы воспроизводятся через мультимедийные проигрывателиQuicktime, Windows Media Player и различные проигрыватели в UNIX-подобных системах при наличии соответствующих плагинов.

Adobe Flash позволяет работать с векторной, растровой и ограниченно с трёхмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Для КПК и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, чья функциональность ограничена в расчёте на возможности мобильных устройств и их операционных систем.

ActionScript — объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player.

ActionScript компилируется в байткод, который включается в SWF-файл.

SWF-файлы исполняются Flash Player -ом. Flash Player существует в виде дополнение к веб-браузеру, а также как самостоятельное исполняемое приложение. Flash придает сайтам динамичность и интерактивность.

Целью данной работы является создание игры «Калькулятора », используя технологии Flash и ActionScript 3.0.

 

Общие сведения

Калькуля́тор -Электронное вычислительное устройство для выполнения операций над числами или алгебраическими формулами;

 

Современный инженерный калькулятор

В Советском Союзе для обозначения малогабаритного вычислительного устройства использовался термин «микрокалькулятор», впервые применённый в 1973 году для микрокалькулятора «Электроника Б3-04». Просто «калькуляторами» называли большие по размеру настольные вычислительные устройства. И настольные и микрокалькуляторы официально назывались «ЭКВМ — электронные клавишные вычислительные машины».

В настоящее время, в связи с тем, что в английском языке используется только термин «калькулятор» (calculator), термин «микрокалькулятор» вышел из обращения.

 

Типы калькуляторов:

§ Простейшие калькуляторы имеют небольшие размеры и вес, один-два регистра памяти и минимальное число функций (как правило, только арифметические операции). Предназначены для широкого круга потребителей.

§ Бухгалтерские калькуляторы имеют дополнительные средства для работы с денежными суммами (кнопки «00» и «000», фиксированное количество разрядов дробной части, автоматическое округление). Как правило, имеют настольные габариты. Предназначены для всех, кто по долгу работы вынужден считать деньги: бухгалтеров, кассиров и так далее.

§ Финансовые калькуляторы ориентированы в первую очередь на выполнение различных расчетов со сложными процентами и имеют набор специфических функций, применяемых в банковской сфере и иных финансовых приложениях: расчет аннуитета, перпетуитета, дисконтов, размера выплат по кредитам, приведенного денежного потока и тому подобное.

§ Инженерные (англ. scientific, изредка употребляется русская калька «научный калькулятор »): предназначены для сложных научных и инженерных расчётов. Имеют большое количество функций, включая вычисление всех элементарных функций, статистические расчёты, задание углов в градусах, минутах и секундах. Для сложных вычислений применяются скобки или обратная польская запись. Часто интегрированы с визуальными.

§ Программируемые калькуляторы дают возможность вводить и исполнять программы пользователя. Имеют большое количество регистров памяти (10 и более). По функциональности приближаются к простейшим компьютерам. В зависимости от модели программируемые калькуляторы имеют несколько типов встроенных языков программирования: простейший (запоминает только нажатия клавиш без вывода на экран), показывающий коды команд (обычно используя обратную польскую запись),Бейсик или собственный язык программирования, приближённый к Бейсику.

§ Графические калькуляторы имеют графический экран, что позволяет отображать графики функций или даже выводить на экран произвольные рисунки.

 

Сведения о реализации курсовой работы

В данной курсовой работе мною был реализован слегка улучшенный простой калькулятор.

Мы видим форму, где расположены цифры от 0-9,мы можем нажать на любую из них и она появиться на экране формы. Так же есть возможность находить квадратный корень из чисел, возводить их в степень, находить тригонометрические функции, заносить и удалять в память калькулятора значения, и делать простые арифметические действия с числами.

 

4. Структура реализации проекта

4.1. О структуре проекта

 

Курсовая работа была реализована в среде Adobe Flash CS4 с использованием языка программирования ActionScript 3.0, как говорилось ранее.

Вся курсовая работа состоит из трех файлов:

- Основной файл проекта Adobe Flash CS4 – «Calc_Evgen.fla »

- Основной файл-класс с кодом ActionScript – «Interpretater.as »

- Файл программы – «Calc_Evgen.swf », который является скомпилированной версией файла проекта «Calc_Evgen.fla» и предназначен для работы во Flash-проигрывателе.

 

4.2. Содержание «Calc_Evgen..fla»

 

import flash.events.MouseEvent;

 

var memory: Number = 0;

results_txt.text = "0";

var operator: String;

 

// Кнопки ввода цифр:

But1.addEventListener(MouseEvent.CLICK, But1_click); // 1

But2.addEventListener(MouseEvent.CLICK, But2_click); // 2

But3.addEventListener(MouseEvent.CLICK, But3_click); // 3

But4.addEventListener(MouseEvent.CLICK, But4_click); // 4

But5.addEventListener(MouseEvent.CLICK, But5_click); // 5

But6.addEventListener(MouseEvent.CLICK, But6_click); // 6

But7.addEventListener(MouseEvent.CLICK, But7_click); // 7

But8.addEventListener(MouseEvent.CLICK, But8_click); // 8

But9.addEventListener(MouseEvent.CLICK, But9_click); // 9

But0.addEventListener(MouseEvent.CLICK, But0_click); // 0

PointBtn.addEventListener(MouseEvent.CLICK, PointBtn_click); //.

PlusMinusBtn.addEventListener(MouseEvent.CLICK, PlusMinusBtn_click); // +-

leftBracket.addEventListener(MouseEvent.CLICK, leftBracket_click); // (

rightBracket.addEventListener(MouseEvent.CLICK, rightBracket_click); //)

 

//results_txt.text += "1"; не стал делать т.к. appendText быстрее

function But1_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("1");

}

function But2_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("2");

}

function But3_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("3");

}

function But4_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("4");

}

function But5_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("5");

}

function But6_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("6");

}

function But7_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("7");

}

function But8_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("8");

}

function But9_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("9");

}

function But0_click(e:MouseEvent):void{

if (results_txt.text!= "0") results_txt.appendText("0");

}

function PointBtn_click(e:MouseEvent):void{

//if(results_txt.text.indexOf(".") == -1)

if (checkPoints(results_txt.text) == true)

results_txt.appendText(".");

}

function PlusMinusBtn_click(e:MouseEvent):void{

if (results_txt.text!= "0"){

if (results_txt.text.indexOf("-") == 0)

results_txt.text = results_txt.text.slice(1, results_txt.length);

else

results_txt.text = "-"+results_txt.text;

}

}

function leftBracket_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("(");

}

}

function rightBracket_click(e:MouseEvent):void{

if (checkBrackets(results_txt.text) == true)

results_txt.appendText(")");

}

// Математические операции:

PlusBtn.addEventListener(MouseEvent.CLICK, PlusBtn_click); // +

MinusBtn.addEventListener(MouseEvent.CLICK, MinusBtn_click); // -

MultBtn.addEventListener(MouseEvent.CLICK, MultBtn_click); // *

DivBtn.addEventListener(MouseEvent.CLICK, DivBtn_click); //:

GradeBtn.addEventListener(MouseEvent.CLICK, GradeBtn_click); // ^

RootBtn.addEventListener(MouseEvent.CLICK, RootBtn_click); //v

 

function PlusBtn_click(e:MouseEvent):void{

if (checkOperations(results_txt.text) == true)

results_txt.appendText("+");

}

function MinusBtn_click(e:MouseEvent):void{

if (checkOperations(results_txt.text) == true)

results_txt.appendText("-");

}

function MultBtn_click(e:MouseEvent):void{

if (checkOperations(results_txt.text) == true)

results_txt.appendText("*");

}

function DivBtn_click(e:MouseEvent):void{

if (checkOperations(results_txt.text) == true)

results_txt.appendText("/");

}

function GradeBtn_click(e:MouseEvent):void{

if (checkOperations(results_txt.text) == true)

results_txt.appendText("^");

}

function RootBtn_click(e:MouseEvent):void{ //корень считается ТУТ

if (checkOperations(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("√");

}

}

 

//Тригонометрические операции:

CosBtn.addEventListener(MouseEvent.CLICK, CosBtn_click); // cos

 

CtgBtn.addEventListener(MouseEvent.CLICK, CtgBtn_click); // ctg

TgBtn.addEventListener(MouseEvent.CLICK, TgBtn_click); // tg

SinBtn.addEventListener(MouseEvent.CLICK, SinBtn_click); // sin

LogBtn.addEventListener(MouseEvent.CLICK, LogBtn_click);

 

function CosBtn_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("cos(");

}

}

function CtgBtn_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("ctg(");

}

}

function TgBtn_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("tan(");

}

}

function SinBtn_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("sin(");

}

}

function LogBtn_click(e:MouseEvent):void{

if (checkFuncs(results_txt.text) == true){

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText("ln(");

}

}

//Операции с памятью

MCBtn.addEventListener(MouseEvent.CLICK, MCBtn_click); // MC

MRBtn.addEventListener(MouseEvent.CLICK, MRBtn_click); // MR

MSBtn.addEventListener(MouseEvent.CLICK, MSBtn_click); // MS

MPlusBtn.addEventListener(MouseEvent.CLICK, MPlusBtn_click); // M+

MMinusBtn.addEventListener(MouseEvent.CLICK, MMinusBtn_click); // M-

 

function MCBtn_click(e:MouseEvent):void{

memory = 0;

}

function MRBtn_click(e:MouseEvent):void{

if (results_txt.text == "0") results_txt.text = "";

results_txt.appendText(memory.toString());

}

function MSBtn_click(e:MouseEvent):void{

var results_new:String = stringForParse(results_txt.text);

results_txt.text = results_new;

results_txt.text = String(parsingString(results_txt.text));

memory = Number(results_txt.text);

}

function MPlusBtn_click(e:MouseEvent):void{

var results_new:String = stringForParse(results_txt.text);

results_txt.text = results_new;

results_txt.text = String(parsingString(results_txt.text));

memory += Number(results_txt.text);

}

function MMinusBtn_click(e:MouseEvent):void{

var results_new:String = stringForParse(results_txt.text);

results_txt.text = results_new;

results_txt.text = String(parsingString(results_txt.text));

memory -= Number(results_txt.text);

}

//Операции с окном вывода

EqualityBtn.addEventListener(MouseEvent.CLICK, EqualityBtn_click); // =

ClearBtn.addEventListener(MouseEvent.CLICK, ClearBtn_click); // C

RemoveBtn.addEventListener(MouseEvent.CLICK, RemoveBtn_click); // <-

 

function EqualityBtn_click(e:MouseEvent):void{

var results_new:String = stringForParse(results_txt.text);

results_txt.text = results_new;

results_txt.text = String(parsingString(results_txt.text));

 

}

 

function checkBrackets(str:String):Boolean{ //чтобы нельзя было поставить функцию после числа

var counter:int = 0;

for (var i = 0; i < str.length; i++) {

if (str.charAt(i) == "("){

counter++;

}

}

for (i = 0; i < str.length; i++) {

if (str.charAt(i) == ")"){

counter--;

}

}

if (counter > 0)

return true;

else

return false;

}

 

function checkOperations(str:String):Boolean{ //чтобы нельзя было поставить 2 математических знака рядом

var flag:Boolean = false;

var j:int = str.length - 1;

if (str.charAt(j) == "(" || str.charAt(j) == "+" || str.charAt(j) == "-" ||

str.charAt(j) == "*" || str.charAt(j) == "/" || str.charAt(j) == "^" || str.charAt(j) == "√")

{

flag = true;

}

if (flag == true)

return false;

else

return true;

}

 

function checkFuncs(str:String):Boolean{

var flag:Boolean = false;

var j:int = str.length - 1;

if (str.charAt(j) == "1" || str.charAt(j) == "2" || str.charAt(j) == "3" ||

str.charAt(j) == "4" || str.charAt(j) == "5" || str.charAt(j) == "6" ||

str.charAt(j) == "7" || str.charAt(j) == "8" || str.charAt(j) == "9")

{

flag = true;

}

if (str.length!= 1 && str.charAt(j) == "0")

{

flag = true;

}

if (flag == true)

return false;

else

return true;

}

 

function checkPoints(str:String):Boolean{

var flag:Boolean = false;

for (var i = 0; i < str.length; i++) {

if (str.charAt(i) == "."){

flag = true;

}

else if (str.charAt(i) == "+" || str.charAt(i) == "-" || str.charAt(i) == "*" ||

str.charAt(i) == "/" || str.charAt(i) == "^" || str.charAt(i) == "√")

{

flag = false;

}

}

var j:int = str.length - 1;

if (str.charAt(j) == "(" || str.charAt(j) == "+" || str.charAt(j) == "-" ||

str.charAt(j) == "*" || str.charAt(j) == "/" || str.charAt(j) == "^" || str.charAt(j) == "√")

{

flag = true;

}

if (flag == true)

return false;

else

return true;

}

 

function stringForParse(str:String):String{

var s_fin: String = "";

for (var i = 0; i < str.length; i++) {

if (str.charAt(i) == "c")

{

if (str.charAt(i+1) == "o") //cos

s_fin += "c"

else if (str.charAt(i+1) == "t") //ctg

s_fin += "g";

i += 2;

} else if (str.charAt(i) == "s"){ //sin

s_fin += "s";

i += 2;

}

else if (str.charAt(i) == "l"){ //ln

s_fin += "l";

i += 1;

}

else if (str.charAt(i) == "t"){ //tan

s_fin += "t";

i += 2;

}

else{

s_fin += str.charAt(i);

}

}

return s_fin;

}

 

function stringForSlice(str:String):String{

var s_fin: String = "";

if (str.charAt(str.length-1) == "(")

{

if (str.charAt(str.length-2) == "s"){ //Cos

s_fin = str.slice(0, str.length - 4);

}

else if (str.charAt(str.length-2) == "n"){ //Sin, tan

if (str.charAt(str.length-3) == "l") //ln

s_fin = str.slice(0, str.length - 3);

else

s_fin = str.slice(0, str.length - 4);

}

else if (str.charAt(str.length-2) == "g"){ //Ctg

s_fin = str.slice(0, str.length - 4);

}

else{

s_fin = str.slice(0, str.length - 1);

}

}

else

{

s_fin = str.slice(0, str.length - 1);

}

return s_fin;

}

 

function ClearBtn_click(e:MouseEvent):void{

results_txt.text = "0";

}

 

function RemoveBtn_click(e:MouseEvent):void{

results_txt.text = stringForSlice(results_txt.text);

if (results_txt.text == "") results_txt.text = "0";

}

 

4.3. Содержание «Interpretater.as»

 

package

{

import flash.display.MovieClip;

 

public class Interpretater extends MovieClip

{

//Стек для переменных

private var stack2:Array = new Array();

 

//Математические операции

private var opPlus:String = "+";

private var opMinus:String = "-";

private var opDivide:String = "/";

private var opMult:String = "*";

private var opPow:String = "^";

private var opSqrt:String = "√";

 

private var opCos:String = "c"; //Косинус

private var opSin:String = "s"; //Синус

private var opTg:String = "t"; //Тангенс

private var opCtg:String = "g"; //Катангенс

private var opLn:String = "l"; //Логарифм

 

private var opLeftBracket:String = "(";

private var opRightBracket:String = ")";

 

public function Interpretater() { }

 

public function parsingString(formula:String):Number

{//Проверяем на предмет скобок

switch(bracketsControl(formula)){

case 1: { /*Alert.show("Error:Отсутствует открывающая скобка");*/ return 0; break; }

case 2: { /*Alert.show("Error:Отсутствует закрывающая скобка"); */ return 0; break; }

}

 

var locStringRes:String = " " + calcualtePrimitive(bracketsCalculate(formula));

var locFloatRsultL:Number = parseFloat(locStringRes);

return locFloatRsultL;

//return 1;

}

 

public function calcualtePrimitive(formula:String):String

{

var stack:Array = new Array();

//Количество переменных в стеке

var st:int = 1;

//Временная переменная собираемя в цикле

var tmpVar:String = "";

for (var i:int = 1; i <= formula.length; i++)

{

var char:String = formula.substring(i - 1, i);

if (char == opPlus || char == opMinus || char == opDivide || char == opMult || char == opPow || char == opSqrt

|| char == opCos || char == opSin || char == opTg || char == opCtg || char == opLn) {

stack.push(tmpVar);

stack.push(char);

tmpVar = new String();

st = st + 2;

}

else {

//Продложаем считывать элемент

tmpVar = tmpVar + formula.substring(i - 1, i);

}

}

//Заносим последний элемент в стек

stack.push(tmpVar);

 

for (var i1:int = 1; i1 <= 11; i1++)

{

//Порядок арифметических действий

switch(i1)

{

case 1: { tmpVar = opCos; break; }

case 2: { tmpVar = opSin; break; }

case 3: { tmpVar = opTg; break; }

case 4: { tmpVar = opCtg; break; }

case 5: { tmpVar = opLn; break; }

case 6: { tmpVar = opSqrt; break; }

case 7: { tmpVar = opPow; break; }

case 8: { tmpVar = opMult; break; }

case 9: { tmpVar = opDivide; break; }

case 10: { tmpVar = opMinus; break; }

case 11: { tmpVar = opPlus; break; }

}

 

for (var j:int = 0; j <= st; j = j + 1)

{

if (stack[j] == tmpVar)

{

//Умножаем

if (tmpVar == opMult) {

stack[j - 1] = stack[j - 1] * stack[j + 1];

} else if (tmpVar == opDivide) { //Делим

stack[j - 1] = stack[j - 1] / stack[j + 1];

} else if (tmpVar == opPlus) { //Складываем

stack[j - 1] = stack[j - 1] * 1 + stack[j + 1] * 1

} else if (tmpVar == opMinus) { //Вычитаем

//if (j == 1) stack[j - 1] = 0;

stack[j - 1] = stack[j - 1] * 1 - stack[j + 1] * 1;

} else if (tmpVar == opPow) { //Cтепень

stack[j - 1] = Math.pow(stack[j - 1]*1,stack[j + 1]*1);

} else if (tmpVar == opSqrt) {

stack[j - 1] = Math.sqrt(stack[j + 1]*1);

} else if (tmpVar == opCos) { //Косинус

stack[j - 1] = Math.cos(stack[j + 1]*1);

} else if (tmpVar == opSin) { //Косинус

stack[j - 1] = Math.sin(stack[j + 1]*1);

} else if (tmpVar == opCtg) { //Косинус

stack[j - 1] = Math.cos(stack[j + 1]*1)/Math.sin(stack[j + 1]*1);

} else if (tmpVar == opTg) { //Косинус

stack[j - 1] = Math.sin(stack[j + 1]*1)/Math.cos(stack[j + 1]*1);

} else if (tmpVar == opLn) { //Косинус

stack[j - 1] = Math.log(stack[j + 1]*1);

}

//Запомним рассчитанное значение, а ячейки на основе которых велся расчет обнулим

stack[j] = "";

stack[j + 1] = "";

for (var t:int = j; t <= st - 1; t++){

stack[t] = stack[t + 2];

}

stack[st - 1] = "";

stack[st - 2] = "";

j = j - 1;

}

}

}

return stack[0];

}

 

//Проверка на пары открывающих-закрывающих скобок

private function bracketsControl(formula:String):int

{

//Количество переменных в стеке

var openBracketNum:int = 0;

var closeBracketNum:int = 0;

//Временная переменная собираемя в цикле

var tmpVar:String = "";

for (var i:int = 1; i <= formula.length; i++)

{

var char:String = formula.substring(i - 1, i);

if(char == opLeftBracket){

openBracketNum++;

}

//Закрывающая скобка

else if(char == opRightBracket){

closeBracketNum++;

}

}

if (openBracketNum < closeBracketNum)

return 1;

else if (openBracketNum > closeBracketNum)

return 2;

return 0;

}

 

//Вычисление через скобки

private function bracketsCalculate(formula:String):String

{

//Количество переменных в стеке

var openBracketIndex:int = 0;

var closeBracketIndex:int = 0;

//Временная переменная собираемя в цикле

var tmpVar:String = "";

for (var i:int = 0; i <= formula.length; i++)

{

var char:String = formula.substring(i - 1, i);

if(char == opLeftBracket){

openBracketIndex = i;

tmpVar = new String();

}

//Закрывающая скобка

else if(char == opRightBracket){

closeBracketIndex = i;

var replString:String = calcualtePrimitive(tmpVar).toString();

formula = formula.substr(0, openBracketIndex - 1) + replString +

formula.substr(closeBracketIndex, formula.length);

i = 0;

tmpVar = new String();

}

else

tmpVar = tmpVar + char;

}

return formula;

}

}

}

 

4.4. Содержание «Calc_Evgen.swf»

 

«Calc_Evgen.swf» - это скомпилированная версия файла проекта «Calc_Evgen.fla», предназначенная для работы во Flash-проигрывателе.

 

Кадры тестирования программы во Flash-проигрывателе:

 

 

Заключение

 

В ходе выполнения курсовой работы мною были рассмотрены основные аспекты программирования на языке ActionScript 3.0 в среде Adobe Flash CS4, были усвоены способы формирования кнопок, подключение классов, а так же приобретены практические навыки в создании игровых приложений в среде Flash.

 

 

Список использованной литературы

 

 

Литература:

1. Action Script 3.0 для Adobe Flash CS4 Professional; Официальный учебный курс.

2. ActionScript 3.0 для Flash. Подробное руководство; Колин Мук.

 

Интернет-ресурсы:

 

1. https://ru.wikipedia.org/wiki/calculator

2. https://ru.wikipedia.org/wiki/Adobe_Flash

3. https://google.com

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: