PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

Podobne dokumenty
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Języki skryptowe w programie Plans

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podstawy programowania skrót z wykładów:

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Programowanie obiektowe

Test przykładowy 2 PAI WSB Wrocław /06/2018

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Tworzenie Stron Internetowych. odcinek 10

Podstawy i języki programowania

Podstawy programowania w języku C

MATERIAŁY DO ZAJĘĆ II

Odczyt danych z klawiatury Operatory w Javie

Tworzenie aplikacji w języku Java

Krótki kurs JavaScript

Platformy Programistyczne Podstawy języka Java

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Właściwości i metody obiektu Comment Właściwości

Microsoft IT Academy kurs programowania

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

ZMIENNE. Podstawy PHP

Instrukcje sterujące. Programowanie Proceduralne 1

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Język ludzki kod maszynowy

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

SWIFT. Zaawansowane Programowanie Obiektowe

XML extensible Markup Language. część 5

Podstawy Programowania C++

Wykład 2 Składnia języka C# (cz. 1)

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Materiały pomocnicze do wykładu 3 - Elementy języka Java

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce.

Bloki anonimowe w PL/SQL

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Programowanie obiektowe

Powtórka algorytmów. Wprowadzenie do języka Java.

Podstawy programowania w języku C i C++

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Struktura pliku projektu Console Application

KOTLIN. Język programowania dla Androida

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Wprowadzenie do Objective-C

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Podstawy Programowania Podstawowa składnia języka C++

Podstawowe części projektu w Javie

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Cw.12 JAVAScript w dokumentach HTML

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

JavaScript funkcyjność

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Programowanie RAD Delphi

Bazy Danych i Usługi Sieciowe

Materiały pomocnicze do wykładu 3 - Elementy języka Java

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Programowanie strukturalne i obiektowe

JavaScript - korzenie

JAVAScript w dokumentach HTML (1)

Zmienne, stałe i operatory

Programowanie obiektowe

Wprowadzenie do Scilab: podstawy języka Scilab

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Część 4 życie programu

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

JavaScript. mgr inż. Remigiusz Pokrzywiński

Powtórka algorytmów. Wprowadzenie do języka Java.

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Inne podejścia obiektowe. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

JAVAScript w dokumentach HTML - przypomnienie

Należy ściągnąć oprogramowanie Apache na platformę

Kiedy i czy konieczne?

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Algorytmika i Programowanie VBA 1 - podstawy

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Transkrypt:

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 Paweł Woszkowski SWSIM 2009

ADOBE ACTIONSCRIPT Programming language of the Adobe Flash Platform. Originally developed as a way for developers to program interactivity, ActionScript enables efficient programming of Adobe Flash Platform applications for everything from simple animations to complex, datarich, interactive application interfaces. źródło: adobe.com

ADOBE ACTIONSCRIPT 3.0 First introduced in Flash Player 9, ActionScript 3.0 is an object-oriented programming (OOP) language based on ECMAScript the same standard that is the basis for JavaScript and provides incredible gains in runtime performance and developer productivity. ActionScript 2.0, the version of ActionScript used in Flash Player 8 and earlier, continues to be supported in Flash Player 9 and Flash Player 10. źródło: adobe.com

ECMASCRIPT Ustandaryzowane przez ECMA kluczowe elementy obiektowego skryptowego języka programowania JavaScript. Specyfikacja ta oznaczona jest jako ECMA-262. ECMA-262 definiuje samą semantykę języka oraz niektóre podstawowe typy danych (String, Boolean, Number, Object, itp.) i obiekty (np. Math, Array). Elementy takie jak model dokumentu lub specjalistyczne funkcje wejścia-wyjścia, obsługi GUI itp. nie wchodzą w skład specyfikacji ECMAScript, definiowane są przez inne standardy (W3C DOM) lub samych autorów konkretnych implementacji.

PIERWSZY PROJEKT ACTIONSCRIPT

ZMIENNE (VARIABLES) var mojapierwszazmienna:string = Hello world ; tytul.text = mojapierwszazmienna; Zmienne służą do przechowywania wartości używanych w programie. Nazwy zmiennych: mogą zaczynać się od litery lub znaku _ pozostała nazwa może składać się z liter, cyfr lub znaku _ wielkość liter ma znaczenie zmienne przyjęło się nazywać, używając tzw. CamelCase i rozpoczynać z małej litery

ZMIENNE (VARIABLES) var mojapierwszazmienna:string = Hello world ; tytul.text = mojapierwszazmienna; = var mojapierwszazmienna:string; mojapierwszazmienna = "Hello world"; tytul.text = mojapierwszazmienna;

TYPY DANYCH var zmienna:typ; Typ danej mówi kompilatorowi (a także programiście) jakiego typu jest zmienna a co za tym idzie, jakie może przyjmować wartości i jakie można na niej wykonywać operacje. Podstawowe typy danych: Boolean, int, Null, Number, String, uint, void. Złożone typy danych: Object, Array, Vector, Dictionary, MovieClip, Bitmap, Shape, ByteArray, TextField, SimpleButton, Date, Error, Function, RegExp, Video, XML, XMLList.

PODSTAWOWE TYPY DANYCH int - 32b, liczby całkowite z zakresu -2^31 do 2^31-1 uint - 32b, liczby naturalne z zakresu 0 do 2^32-1 Number - 64b, liczby zmiennoprzecinkowe Boolean - przechowuje wartości logiczne: true (prawda) i false (fałsz) String - reprezentuje sekwencję 16b znaków Null - może przyjmować wyłącznie wartość null i jest domyślną wartością dla typu String i wszystkich typów złożonych void - może przyjmować wyłącznie wartość undefined, używany przy definiowaniu funkcji

STAŁE (CONSTANTS) const MOJ_EMAIL:String = "p.woszkowski@swsim.edu.pl"; Służą do przechowywania wartości, które nie mogą zostać zmieniane podczas wykonywania programu. Nazwy stałych: mogą zaczynać się od litery lub znaku _ pozostała nazwa może składać się z liter, cyfr lub znaku _ wielkość liter ma znaczenie stałe przyjęło się nazywać, używając wyłącznie dużych liter i znaków _

DOMYŚLNE WARTOŚCI ZMIENNYCH int - 0 uint - 0 Number - NaN Boolean - false String - null W przypadku nie zadeklarowania typu zmiennej var zmienna; przyjmuje ona wartość undefined. Wartość domyślna zmiennych złożonych to null.

NAN I INFINITY NaN domyślna wartość zmiennych typu Number, wynik operacji, który powinien być liczbą a nią nie jest, np. pierwiastek kwadratowy z liczby ujemnej. NaN jest wynikiem dzielenia przez 0 tylko wtedy, kiedy liczba dzielona również była równa 0. W innym przypadku wynikiem jest Infinity bądź -Infinity. Aby sprawdzić, czy wynikiem operacji jest NaN, nie wystarczy porównać go z NaN. Należy użyć funkcji isnan().

ZMIENNE PODSTAWOWE I ZŁOŻONE CD var i:int = 20; var j:int = i; j = 30; trace(i); trace(j); Output: 20 30 var tablica1:array = new Array(1,2,3); var tablica2:array = tablica1; tablica2[0] = 4; trace(tablica1); trace(tablica2); Output: 4,2,3 4,2,3

OPERATORY ARYTMETYCZNE var a:int = 5; var b:int = 10; var c:int; c = a + b; c = a - b; c = a * b; c = b / a; c = a % b; var a:int = 1; var b:int = 2; var c:int = 3; var d:int; d = a + b * c; trace(d); d = (a + b) * c; trace(d); Output: 7 9

OPERATORY PODSTAWOWE [ ] inicjalizuje tablice {x:y inicjalizuje obiekt () grupowanie f(x) wywołanie funkcji new wywołanie konstruktora x.y dostęp do właściwości x[y] dostęp do właściwości <></> inicjalizuje obiekt XMLList(E4X) @ dostęp do atrybutu (E4X).. dostęp do nadrzędnego obiektu XML (E4X)

OPERATORY UNARNE ++ inkrementacja -- dekrementacja - arytmetyczna negacja! logiczna negacja ~ bitowa negacja delete usuwa właściwość typeof zwraca typ zmiennej void zwraca undefined

INKREMENTACJA I DEKREMENTACJA var a:int = 2; var b:int = 2; var c:int; var d:int; c = a++; d = ++b; trace(c); trace(d); Output: 2 3

OPERACJE BITOWE << przesunięcie bitów w lewo >> przesunięcie bitów w prawo >>> przesunięcie bitów w prawo liczba całkowita var i:int = 1; var j:int = i << 1; trace(j); var k:int = i <<2; trace(k); Output: 2 4

OPERATORY PORÓWNANIA < mniejszy > większy <= mniejszy lub równy >= większy lub równy as porównuje typ in sprawdza właściwość obiektu instanceof sprawdza czy instancją obiektu is sprawdza typ == równy!= różny === identyczny!== nie identyczny

OPERATOR === var i:int = 1; var j:boolean = true; trace(int(j)); trace(j == i); trace(i === j); Output: 1 true false

OPERATOR === var i:int = 1; var j:uint = 1; var k:number = 1; trace(i === j); trace(j === k); trace(i === k); Output: true true true true false trace(null == undefined); trace(null === undefined);

OPERATORY LOGICZNE & bitowe AND ^ bitowe XOR bitowe OR && lub AND logiczne AND lub OR logiczne OR 1 1 = 1; 1 0 = 1; 0 1 = 1; 0 0 = 0; 1 & 1 = 1; 1 & 0 = 0; 0 & 1 = 0; 0 & 0 = 0; 1 ^ 1 = 0; 1 ^ 0 = 1; 0 ^ 1 = 1; 0 ^ 0 = 0;

OPERATORY PRZYPISANIA = przypisanie *= mnożenie i przypisanie /= dzielenie i przypisanie %= reszta z dzielenia i przypisanie +=... -=... <<=... >>=... >>>=... &=... ^=... =... a = a + b; a += b; a = a * b; a *= b; a = a >> 2; a >>= 2;

KONTROLA PRZEPŁYWU var nowyemail:boolean = false; var artykulnapisany:boolean = false; // sekwencja trace( jem śniadanie ); trace( udaję, że pracuję ); trace( sprawdzam pocztę ); // wybór if(nowyemail) { trace( Odpowiedz ); else { trace( Czytaj bloga ); // powtarzanie while(!artykulnapisany) { trace( Zajęty ); artykulnapisany = true;

IF... ELSE if (wyrażenie) { // kod ActionScript ------------------------- var a:int = 15; if (a > 10) { trace( a > 10 ); If (wyrażenie) { // kod else { // inny kod ---------------------- var a:int = 10; if (a > 10) { trace( a > 10 ); else { trace( a <= 10 );

IF... ELSE IF... ELSE if (wyrażenie1) { // kod 1 else if (wyrażenie2) { // kod 2... else if (wyrażenie n) { // kod n else { // inny code var i:uint = new Date().getMonth(); // miesiące numerowane są od 0 do 11, więc... var miesiac:uint = i + 1; if( miesiac >= 3 && miesiac <= 5 ) { trace( Wiosna ); else if ( miesiac >= 6 && miesiac <= 8 ) { trace( Lato ); else if ( miesiac >= 9 && miesiac <= 11 ) { trace( Jesień ); else if ( miesiac == 12 miesiac == 1 miesiac == 2 ) { trace( Zima ); else { throw new Error( he??? );

SWITCH switch (wyrażenie) { case wartość 1: // kod 1 break; case wartość 2: // kod 2 break;... case wartość n: // kod n break; default: // kod domyślny break; var i:uint = new Date().getMonth(); var miesiac:uint = i + 1; switch (miesiac) { case miesiac >= 3 && miesiac <= 5: trace( Wiosna ); break; case miesiac >= 6 && miesiac <= 8: trace( Lato ); break; case miesiac >= 9 && miesiac <= 11: trace( Jesień ); break; case miesiac == 1 miesiac == 2 miesiac == 12: trace( Zima ); break; default: throw new Error( he??? );

SWITCH var i:uint = new Date().getMonth(); var miesiac:uint = i + 1; switch (miesiac) { case 3: case 4: case 5: trace( Wiosna ); break; case 6: case 7: case 8: trace( Lato ); break; case 9: case 10: case 11: trace( Jesień ); break; case 12: case 1: case 2: trace( Zima ); break; default: throw new Error( he??? );

PĘTLE WHILE while ( warunek ) { // kod ------------------------------------------ var i:int = 1; // licznik while ( i <= 50 ) { trace(i); i++; // inkrementujemy licznik Output: 1 2... 49 50 var i:int = 1; while ( i++ <= 50 ) { trace(i); -------------------------------------- var i:int = 1; while ( i++ <= 50 ) trace(i);

PĘTLE DO... WHILE do { // kod while (warunek); ------------------------------------------ while ( false ) { trace( pętla while ); do { trace( pętla do... while ); while ( false ); Output: pętla do... while

PĘTLE FOR for (wartość; warunek; operacja) { // kod -------------------------------- var i:int; for (i = 0; i < 5; i++) { trace(i); Output: 0 1 2 3 4

PĘTLE FOR... IN for (zmienna in obiekt) { // kod ------------------------------------ var wspolrzedne:object = {x:20, y:30; for (var i:string in wspolrzedne) { trace(i + ": " + wspolrzedne[i]); Output: x:20 y:30

PĘTLE FOR EACH... IN for each (zmienna in obiekt) { // kod ------------------------------------------ var wspolrzedne:object = {x:20, y:30; for each (var liczba in wspolrzedne) { trace(liczba); Output: 20 30

FUNKCJE Funkcje to bloki kodu, wykonujące określone zadanie, które mogą być wykorzystywane wielokrotnie podczas wykonywania programu. W zależności od tego, w jakim kontekście jest tworzona funkcja, w języku Actionscript nazywamy ją funkcją lub metodą. Metodą nazywamy funkcję, będącą częścią klasy lub funkcję przypisaną do instancji obiektu.

SKŁADNIA FUNKCJI function nazwafunkcji(p1:typ, p2:typ... pn:typ):typ { // kod ------------------------------------------------------ function dwucyfrowa(liczba:uint):string { if(liczba < 10) { return "0" + String(liczba); else { return String(liczba); dwucyfrowa(6); Output: 06

WARTOŚCI DOMYŚLNE function nazwafunkcji(parametr:typ = wartość):typ { // kod -------------------------------------------------------------- function test(x:int, y:int = 3, z:int = 5):void { trace(x, y, z); test(1, 2); Output: 1, 2, 5

PARAMETR... (REST) function pokazargumenty(... args):void { for (var i:uint = 0; i < args.length; i++) { trace(args[i]); pokazargumenty(1, 2, 3); Output: 1 2 3 ------------------------------------------- function pokazargumenty(x:int,... args):void { for (var i:uint = 0; i < args.length; i++) { trace(args[i]); pokazargumenty(1, 2, 3); Output: 2 3