Sieciowe Technologie Mobilne. Laboratorium 1
|
|
- Wiktoria Janik
- 7 lat temu
- Przeglądów:
Transkrypt
1 Sieciowe Technologie Mobilne Laboratorium 1 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński
2 Wstęp do zajęć 1-4 Celem zajęć laboratoryjnych 1-4 będzie samodzielnie przygotowanie prostej gry na urządzenia mobilne. Wykorzystane zostaną następujące technologie: 1. JavaScript jako język programowania, 2. Element <canvas> do rysowania poszczególnych elementów gry, 3. Phonegap jako narzędzie zapewniające wieloplatformowość oraz dostęp do wybranych funkcji urządzenia mobilnego. Ponieważ efektem zajęć będzie stosunkowo duża aplikacja (przypuszczalnie ok linii kodu), wymagane będzie zapewnienie przejrzystości kodu z użyciem technik symulowania klas w języku JavaScript (ze wskazaniem na bibliotekę Classy wszystkie przykłady w instrukcjach będą wykorzystywały właśnie Classy). Poza zapoznaniem się z technologiami omawianymi w ramach przedmiotu, istotnym celem będzie sprawdzenie ich wydajności na urządzeniach mobilnych. Na zajęciach odpowiemy sobie na pytanie, czy technologie webowe w obecnym kształcie mogą być alternatywą dla rozwiązań natywnych przy tworzeniu dynamicznych aplikacji o średnim poziomie złożoności (takich jak proste gry). Poszczególne laboratoria będą kontynuacją laboratoriów poprzednich, dlatego konieczne jest zachowanie stanu pracy i dokończenie niewykonanych zadań w domu. Wykonanie zadań będzie wymagało przygotowania odpowiedniego zestawu zasobów, przede wszystkim w postaci plików graficznych. Aby oszczędzić trochę czasu, warto to zadanie zrealizować zawczasu, w domu. Gra będzie nosić nazwę MonsterShooter. Na środku ekranu ma się znajdować nieruchomy bohater. W jego kierunku zmierzają pojawiające się w losowych miejscach przy krańcu ekranu potwory. Kliknięcie na ekran dotykowy powoduje oddanie strzału w kierunku wskazywanym przez kompas/magnetometr urządzenia. Przy realizacji poszczególnych zadań będziemy utrzymywali podział kodu na dwa pliki źródłowe.
3 W pierwszym z nich zawarty będzie kod zawierający klasy prostej biblioteki, którą każdy ze studentów w trakcie laboratoriów wytworzy. Drugi będzie zawierał kod samej gry MonsterShooter, wykorzystujący klasy zawarte w bibliotece. Biblioteka będzie zawierała następujący zestaw klas: Na zielono zaznaczono klasy, które zaimplementowane zostaną w ramach pierwszych zajęć, na niebiesko klasy z zajęć drugich, natomiast na pomarańczowo klasy do zaimplementowania na trzecim laboratorium. Klasa MonsterShooter będzie stopniowo rozbudowywana, wraz ze zwiększeniem możliwości samej biblioteki. Największy stopień złożoności osiągnie na ostatnim, czwartym laboratorium, na którym stworzona zostanie dodatkowo klasa Actor. Laboratorium Przygotowanie plików.html i.js Pracę zaczniemy bez używania biblioteki PhoneGap jej obsługę wprowadzimy na kolejnych zajęciach. Przygotuj następujące pliki.js: 1. classy.js do pobrania ze strony (opcjonalne, możesz również symulować użycie klas samodzielnie, z wykorzystaniem prototypów), 2. lib.js w tym pliku będziesz implementował prostą bibliotekę do tworzenia gier, 3. game.js tutaj będzie znajdowała się właściwa gra. Następnie stwórz plik index.html, w którym zamieść odwołania do plików JavaScript, zdefiniuj element <canvas> oraz metodę JavaScript wywoływaną przy załadowaniu strony: <html> <head> <meta charset="utf-8" /> <meta name="format-detection" content="telephone=no" />
4 <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, targetdensitydpi=device-dpi" /> <link rel="stylesheet" type="text/css" href="css/index.css" /> <script type="text/javascript" src="js/classy.js"></script> <script type="text/javascript" src="js/lib.js"></script> <script type="text/javascript" src="js/game.js"></script> <title>monster shooter!</title> </head> <body onload="kamyk.monstershooter.letsgo();"> <h1 id="title"> Monster shooter! </h1> <canvas id="kanwa" width="400" height="400"> Brak obsługi canvasa! </canvas> </body> </html> 1.2. Implementacja klasy ImageLoader Pierwszą klasę dostajesz w prezencie! Jej zadaniem jest zapewnienie ładowania obrazków na potrzeby gry. Zamieść jej kod w pliku lib.js. /** * Klasa obsługująca ładowanie obrazków. var kamyk = {; kamyk.imageloader = Class.$extend({ /**"Konstruktor" init : function(whowaitsformyjob) { //Liczba obrazków, które załadowano this.numloaded = 0; /* * Obiekt, który oczekuje na załadowanie wszystkich obrazków * Musi implementować metodę onloaderready(imageloader) this.waiting = whowaitsformyjob; //Adresy obrazków this.urls = []; //Same obrazki this.images = []; //Obiekty oczekujące załadowania poszczególnych obrazków. this.imagereceivers = []; /**Dodaje url obrazka do wczytania i zwraca jego identyfikator. * Opcjonalnie można zdefiniować obiekt oczekujący załadowania tego konkretnego obrazka - * powinien on zawierać metodę "setimage(img)". addurl: function(imageurl, imagereceiver) { this.imagereceivers.push(imagereceiver); return this.urls.push(imageurl) - 1;
5 /** * Rozpoczyna ładowanie obrazków. startloading: function() { this.numloaded = 0; var that = this; var loadedfuncwrapper = function() { that. imageloaded(); ; for (var i = 0; i < this.urls.length; i++) { this.images[i] = new Image(); this.images[i].onload = loadedfuncwrapper; this.images[i].src = this.urls[i]; /** * Zwraca i-ty obrazek. getimage: function(ind) { return this.images[ind]; /** * Wywoływane po załadowaniu każdego z obrazków. imageloaded: function() { this.numloaded++; var isready = (this.numloaded === this.urls.length); if(isready === true) { this. finishedloading(); /** * Wywoływane po załadowaniu wszystkich obrazków. finishedloading: function() { for (var i = 0; i < this.urls.length; i++) { if (this.imagereceivers[i]!== undefined) { this.imagereceivers[i].setimage(this.getimage(i)); this.waiting.onloaderready(this); ); 1.3. Implementacja klasy Game Stwórz w pliku lib.js kolejną klasę Game. Powinna zawierać następujące właściwości: 1. Konstruktor. Jego zadania to: 1. Pozyskanie obiektu typu canvas: this.kanwa = document.getelementbyid(canvasid);
6 2. Uzyskanie kontekstu graficznego: this.context = this.kanwa.getcontext("2d"); 3. Uzyskanie tzw. focusu : this.kanwa.setattribute('tabindex', '0'); this.kanwa.focus(); 4. Stworzenie obiektu ładującego obrazy: this.imageloader = new kamyk.imageloader(this); 5. Stworzenie i inicjalizacja innych pomocnych pól takich jak wysokość, szerkość, itp. 2. Zestaw metod o charakterze abstrakcyjnym (które będą implementowane przez klasę MonsterShooter, pochodną klasy Game): 1. initresources() odpowiedzialna za przygotowanie zasobów na potrzeby gry 2. update() odpowiedzialna za aktualizację stanu gry w każdym obiegu pętli gry, 3. render() odpowiedzialna za rysowanie stanu gry w każdym obiegu pętli gry. Metody abstrakcyjne można w uproszczony sposób symulować, rzucając wyjątek: kamyk.abstractexception = "Zapomniałeś zaimplementować tę metodę w podklasie!"; //(...) //klasa Game kamyk.game = Class.$extend({ //(...) initresources: function() { throw kamyk.abstractexception; update: function(dt) { throw kamyk.abstractexception; render: function() { throw kamyk.abstractexception; //(...) );//koniec klasy Game 3. Metodę onloaderready(), która zostanie wywołana przez obiekt klasy ImageLoader po załadowaniu wszystkich obrazków. W najprostszym wariancie, metoda ta powinna ustawiać odpowiednią zmienną logiczną, która będzie sprawdzana przez metody realizujące pętlę gry. 4. Metody odpowiedzialne za rozpoczęcie (start()) oraz zatrzymanie (stop()) gry. Metoda start() powinna wywołać metodę initresources() oraz rozpocząć główną pętlę gry.
7 Pętla gry nie powinna wykonywać żadnych działań, dopóki obiekt ładujący obrazki nie poinformuje o tym, że załadował wszystkie zasoby. Pętlę gry można realizować przy pomocy metod setinterval()/settimeout(), przekazując metodę realizującą pojedynczy obieg pętli jako parametr. Zalecanym rozwiązaniem jest jednak użycie metody requestanimationframe(). Ponieważ na starszych przeglądarkach metoda ta może nie być obsługiwana, zaleca się stosowanie na wszelki wypadek poniższego wypełnienia (polyfill). W obu przypadkach należy uważać na omówione na wykładzie zagadnienie uciekającego this. //polyfill by Erik Möller // // (function() { var lasttime = 0; var vendors = ['webkit', 'moz']; for(var x = 0; x < vendors.length &&!window.requestanimationframe; ++x) { window.requestanimationframe = window[vendors[x]+'requestanimationframe']; window.cancelanimationframe = window[vendors[x]+'cancelanimationframe'] window[vendors[x] +'CancelRequestAnimationFrame']; if (!window.requestanimationframe) window.requestanimationframe = function(callback, element) { var currtime = new Date().getTime(); var timetocall = Math.max(0, 16 - (currtime - lasttime)); var id = window.settimeout(function() { callback(currtime + timetocall); timetocall); lasttime = currtime + timetocall; return id; ; if (!window.cancelanimationframe) window.cancelanimationframe = function(id) { cleartimeout(id); ; ()); 1.4. Implementacja klasy MonsterShooter W pliku game.js zaimplementuj pierwszą wersję swojej gry. Na obecnym etapie ma wyświetlać obrazek tła oraz ruszający się w dowolny sposób inny obrazek. Szkielet klasy, którą należy rozbudować, powinien wyglądać w sposób następujący: kamyk.monstershooter = {; kamyk.monstershooter.monstershooter = kamyk.game.$extend({ init : function(canvasid, width, height) { this.$super(canvasid, width, height); initresources: function() {
8 //użycie obiektu ładującego obrazki this.backgroundimgindex = this.imageloader.addurl("img/background.jpg", undefined); this.imageloader.startloading(); render: function() { this.context.drawimage(this.imageloader.getimage(this.backgroundimgindex),0,0,this.width, this.height); ); update: function(dt) { ); 1.5. Implementacja funkcji startującej (letsgo()) Na koniec, w pliku game.js zdefiniuj metodę o nazwie letsgo(), takiej samej, jakiej użyłeś w pliku.html stworzonym na samym początku laboratorium. Warto na tym etapie pracy złamać zasadę, która odradza definiowanie zmiennych globalnych. Przechowaj referencję do obiektu gry w formie zmiennej globalnej, a ułatwi to dostęp do tego obiektu z konsoli przeglądarki czy narzędzi takich jak FireBug, tym samym upraszczając proces poszukiwania ew. błędów. var gra = undefined; kamyk.monstershooter.letsgo = function() { gra = new kamyk.monstershooter.monstershooter("kanwa", 400, 400); gra.start(); ZADANIE Zadanie do wykonania polega na wyświetleniu z wykorzystaniem obiektu <canvas> prostej sceny, zawierającej obrazek tła oraz poruszający się w dowolny sposób inny obrazek. Punktacja: 1 pkt. - rysowanie nieruchomych obrazków 2 pkt. - rysowanie z animacją jeden z obrazków porusza się po ekranie 2 pkt. - implementacja kodu zgodnie z wymaganiami z instrukcji: podział na bibliotekę i grę właściwą, symulowanie klas w JavaScript
Sieciowe Technologie Mobilne. Laboratorium 2
Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji
Bardziej szczegółowoSieciowe Technologie Mobilne. Laboratorium 4
Sieciowe Technologie Mobilne Laboratorium 4 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 4 Urozmaicone zostaną animacje potworów, aby odpowiadały
Bardziej szczegółowoProgramowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]
JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą
Bardziej szczegółowoWykład 03 JavaScript. Michał Drabik
Wykład 03 JavaScript Michał Drabik Język programowania wykorzystywany na stronach internetowych głównie w celu umożliwienia interakcji z użytkownikiem. Kod JavaScript może być umieszczany w kodzie XHTML
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoProgramowanie obiektowe. Wykład 4
Programowanie obiektowe Wykład 4 Tworzenie własnych obiektów Słowo kluczowe this W JavaScriptmożna tworzyć własne obiekty. Wykorzystuje się tu zapis utworzonej funkcji o nazwie takiej samej jak klasa,
Bardziej szczegółowoGLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>
#import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoXML extensible Markup Language. część 5
XML extensible Markup Language część 5 XML ważne zastosowanie Jak często pracujemy z plikami XML? Wróćmy jeszcze do wykładu poprzedniego. A dokładnie do pliku zawierającego ten wykład. xml_2017_wyklad_4.pptx
Bardziej szczegółowoDefilada - przykład wykorzystujący animowane modele Copperlicht. Andrzej P.Urbański Politechnika Poznańska
Defilada - przykład wykorzystujący animowane modele Copperlicht Andrzej P.Urbański Politechnika Poznańska Czego potrzebujemy? Animowane postacie potrafiące wykonywać różne ruchy cząstkowe np.: chodzić,
Bardziej szczegółowoFunkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
Bardziej szczegółowoProgramowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska
Programowanie gier 3D w HTML5 Andrzej P.Urbański Politechnika Poznańska Moje marzenie Od dawna jest znany pakiet Open GL napisany w C++ i bardzo ułatwiający tworzenie gier 3D Zaproponowałem kiedyś jako
Bardziej szczegółowoKompresja stron internetowych
Kompresja stron internetowych Patryk Jar Tech 3 Camp, 18 czerwca 2013 r. O mnie Patryk Jar Webdeveloper Nor-sta (nor-sta.eu) yarpo.pl 2 3 Agenda Lepszy kod w przeglądarce Mniej żądań HTTP Mniej danych
Bardziej szczegółowoPrzykład integracji kalkulatora mbank RATY na platformie IAI
Przykład integracji kalkulatora mbank RATY na platformie IAI 1. Moderacja - > Dodatki HTML i JavaScript 1.1 Klikamy na przycisk nowy dodatek Wpisujemy w pole Tytuł dodatku nazwę CSS_mRaty. Następnie ustawiamy
Bardziej szczegółowoPliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:
Technologia wykonania projektu: HTML5 Javascript: o jquery (1.9.1), o CreateJS (0.6.1): EaselJS, TweenJS, PreloadJS. Części funkcjonalne projektu: Strona internetowa pliki strony internetowej zlokalizowane
Bardziej szczegółowoZdarzenia Zdarzenia onload i onunload
Zdarzenia Zdarzenia onload i onunload Ćwiczenie 1. Rysunek 1. Okno powitalne wykorzystujące zdarzenie onload Na stronie mogą zachodzić różne zdarzenia, np. użytkownik kliknie myszą lub zacznie wprowadzać
Bardziej szczegółowoTworzenie Stron Internetowych. odcinek 9
Tworzenie Stron Internetowych odcinek 9 Prosta galeria oparta na HTML Najprostszym sposobem zbudowania galerii zdjęć jest wykorzystanie tylko HTML i CSS. Strona główna galerii składa się miniatur zdjęć,
Bardziej szczegółowoUnity 3D - własny ekran startowy i menu gry
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie własnego ekranu startowego oraz menu gry. Własny ekran startowy Tworzymy nowy, pusty obiekt GameObject Create Empty i nadajemy
Bardziej szczegółowoMultimedia i interfejsy. Ćwiczenie 5 HTML5
Multimedia i interfejsy Ćwiczenie 5 HTML5 Celem ćwiczenia jest poznanie nowych elementów wprowadzonych w HTML 5, do których należą m.in. video oraz canvas. Poniższy opis przedstawia sposób użycia tych
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 08 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami powiązania modelu obiektowego z modelem okienkowym w C#. Wprowadzenie teoretyczne.
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii
Bardziej szczegółowoDokumentacja imapliteapi
Dokumentacja imapliteapi Urząd Marszałkowski Województwa Małopolskiego 30.06.2014 Spis treści: 1. Wprowadzenie... 3 2. Sposób użycia biblioteki imapliteapi... 3 3. Metody API... 5 4. Lista gotowych kompozycji
Bardziej szczegółowoTECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty
1. Co to jest funkcja? Funkcja jest oddzielnym blokiem kodu, który może być wielokrotnie wykonywany w danym programie, poprzez jej wielokrotne wywoływanie. Do funkcji przekazujemy przeważnie jakieś argumenty,
Bardziej szczegółowoKurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016
Wykład 6 7 kwietnia 2016 Klasa java.applet.applet Aplety w języku Java Aplety sa specyficznymi programami które moga być wyświetlane w oknach większości przegladarek internetowych. Klasa Applet rozszerza
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Bardziej szczegółowo1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony 3 Animowanie witryny 4 Tworzenie filmów
1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony WWW... 3 Animowanie witryny WWW... 4 Tworzenie filmów interaktywnych... 6 Wyświetlanie przycisków... 7 Transformacja
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoKrótki kurs JavaScript
Krótki kurs JavaScript Java Script jest językiem wbudowanym w przeglądarkę. Gdy ma się podstawy nabyte w innych językach programowania jest dość łatwy do opanowania. JavaScript jest stosowany do powiększania
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 3
Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowoTest przykładowy 2 PAI WSB Wrocław /06/2018
Imię i Nazwisko: Student ID: Part 1: (Prawda lub Fałsz (T lub F)) 15. Która z poniższych deklaracji funkcji jest nieprawidłowa: A. function Sum(a, b, c){; B. function Sum(var a, var b); C. function Sum(a){;
Bardziej szczegółowoTemat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1
Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1 Wymagana wiedza wstępna: 1) Student musi 1) Umieć stworzyć projekt aplikacji konsolowej w XCode z wykorzystaniem Objective-C 2)
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 2
MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik
Bardziej szczegółowoTworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie
Bardziej szczegółowoJAVAScript w dokumentach HTML - przypomnienie
Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w
Bardziej szczegółowoSpecyfikacja techniczna kreacji HTML5
Specyfikacja techniczna kreacji HTML5 www.gemius.pl Parametry przekazywane do kreacji Kreacje HTML osadzane są na stronie za pomocą znacznika . W adresie do pliku kreacji przekazywane są parametry
Bardziej szczegółowoSpis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37
Spis treści Wstęp 13 CZĘŚĆ I JĘZYK SIECI 17 Rozdział 1 Wprowadzenie do HTML5 19 Tworzenie przy pomocy znaczników: przegląd 20.Wprowadzanie nowych elementów HTML5 21 Korzystanie z kontynuowanych znaczników
Bardziej szczegółowoSUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 2 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przekierowania 2 Przekierowanie za pomocą skryptu Przykład
Bardziej szczegółowoSpis treści. Księgarnia PWN: Roland Zimek - Swish Max3
Księgarnia PWN: Roland Zimek - Swish Max3 Spis treści Wprowadzenie... 11 1. Opis programu i instalacja... 15 1.1. Nowości w SWiSH Max3... 15 1.1.1. Projekty... 15 1.1.2. Ścieżka ruchu... 16 1.1.3. Narzędzie
Bardziej szczegółowoSpis treści. Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3. Wprowadzenie... 9
Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3 Spis treści Wprowadzenie... 9 1. Opis programu i instalacja... 13 1.1. Nowości w SWiSH Max2... 13 1.1.1. Wygląd okna programu... 13 1.1.2. Język skryptowy...
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowoJęzyk Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Komponenty i serwisy
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki
Bardziej szczegółowoLaboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoMonoGame. Wieloplatformowe gry w C# Mateusz Cicheński
MonoGame Wieloplatformowe gry w C# Mateusz Cicheński Plan prezentacji Założenia Alternatywy Narzędzia Różnice między WP8, ios, Android DEMO Podsumowanie Założenia CEL: Stworzenie wieloplatformowej gry
Bardziej szczegółowoDokumentacja Skryptu Mapy ver.1.1
Dokumentacja Skryptu Mapy ver.1.1 2 Dokumentacja Skryptu Mapy ver.1.1 Spis treści Dokumentacja skryptu... 3 Dodatkowe informacje i kontakt... 7 3 Dokumentacja Skryptu Mapy ver.1.1 Dokumentacja skryptu
Bardziej szczegółowoTemat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C
Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Wymagana wiedza wstępna: 1) Student musi 1) Znać język C 2) Znać zasady zarządzania pamięcią w komputerze 3) Znać pojecie wskaźnika
Bardziej szczegółowoLaboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
Bardziej szczegółowoZadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET.
Zadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET. Ważne! Przy pierwszym uruchomieniu Visual Studio zostaniemy zapytani, jaki ma byd podstawowy język programowania
Bardziej szczegółowoJQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...
JQuery jquery (jquery.com) to jedna z najbardziej popularnych bibliotek/frameworków do javascript. Jej popularność oczywiście znikąd się nie bierze. Dzięki tej bibliotece jesteśmy w stanie o wiele szybciej
Bardziej szczegółowoTemat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?
Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart? Wymagana wiedza wstępna: 1) Student musi 1) Umieć stworzyć projekt aplikacji konsolowej w XCode z wykorzystaniem Objective-C 2) Umieć skompilować
Bardziej szczegółowoZajęcia 4 - Wprowadzenie do Javascript
Zajęcia 4 - Wprowadzenie do Javascript Co to jest Javascript Javascript jest językiem skryptowym pozwalającym na dołączanie dodatkowej funkcjonalności do stron WWW. Jest ona najczęściej związana z modyfikacją
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoSzybko, prosto i tanio - ale czy na pewno?
Szybko, prosto i tanio - ale czy na pewno? Krzysztof Ścira Adrian Gadzina Kilka słów o nas Krzysztof Ścira Absolwent studiów pierwszego stopnia i jednocześnie student studiów 2 stopnia na AGH Zawodowo
Bardziej szczegółowoTworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski
Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji
Bardziej szczegółowoPodstawy programowania w języku JavaScript
Podstawy programowania w języku JavaScript Część piąta AJAX Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych
Bardziej szczegółowoUnity 3D - pierwsze skrypty
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest napisanie pierwszych, prostych skryptów, m.in wyświetlających upływający czas gry oraz jej stan. Wykorzystamy projekt z poprzednich
Bardziej szczegółowoPlatfomry programistyczne:.net i Jawa L ABORATORIUM 3: HACKATHON - JTTT
Platfomry programistyczne:.net i Jawa L ABORATORIUM 3: HACKATHON - JTTT O co chodzi? Hackathon - http://en.wikipedia.org/wiki/hackathon A hackathon is an event in which computer programmers and others
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana
Bardziej szczegółowoSPECYFIKACJA TECHNICZNA PRODUKTÓW REKLAMOWYCH SIECI LOCAL POWER. Specyfikacja ważna od 21 maja 2018 r.
SPECYFIKACJA TECHNICZNA PRODUKTÓW REKLAMOWYCH SIECI LOCAL POWER Specyfikacja ważna od 21 maja 2018 r. 1 SPIS TREŚCI 1 Formaty, rozmiary i wagi standardowych...3 2 Wymagania ogólne dla reklam...3 2.1 Reklamy
Bardziej szczegółowoLIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji
LIVE Gra w życie Live jest jednym z pierwszych i najbardziej znanych tzw. automatów komórkowych. Został wymyślony w 1970 roku przez brytyjskiego matematyka Johna Conwaya. Co to takiego automat komórkowy?
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania, Programowanie aplikacji internetowych Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU
Bardziej szczegółowoTworzenie Stron Internetowych. odcinek 5
Tworzenie Stron Internetowych odcinek 5 Nagłówek zawiera podstawowe informacje o dokumencie, takie jak: tytuł strony (obowiązkowy) metainformacje/metadane (obowiązkowa deklaracja
Bardziej szczegółowoDodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.
Spis Treści 1. Wprowadzenie... 2 1.1 Wstęp... 2 1.2 Cel pracy... 2 1.3 Zakres pracy... 2 1.4 Użyte technologie... 2 1.4.1 Unity 3D... 3 2. Sztuczna inteligencja w grach komputerowych... 4 2.1 Zadanie sztucznej
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza HTML z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed wysłaniem
Bardziej szczegółowoFront-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.
Kod szkolenia: Tytuł szkolenia: FRONT-END Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap. Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest zarówno dla
Bardziej szczegółowoJęzyk Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Bardziej szczegółowoDOM (Document Object Model)
DOM (Document Object Model) Czym jest DOM? Platforma, która pozwala skryptom na dynamiczny dostęp do zawartości strony i jej aktualizację. Elementy można dodawać, zmieniać lub usuwać. Specyfikacje Poziomy
Bardziej szczegółowoRys.2.1. Drzewo modelu DOM [1]
1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA 2.1. DOM model
Bardziej szczegółowoĆwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt
Dynamiczne wczytywanie tekstu z pliku.txt Wykonamy dwa zadania z wczytywaniem zewnętrznych plików tekstowych. W pierwszym zadaniu wczytamy jeden plik tekstowy. W drugim podejściu za pomocą przycisków będziemy
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoSpecyfikacja techniczna dot. mailingów HTML
Specyfikacja techniczna dot. mailingów HTML Informacje wstępne Wszystkie składniki mailingu (pliki graficzne, teksty, pliki HTML) muszą być przekazane do melog.com dwa dni albo maksymalnie dzień wcześniej
Bardziej szczegółowoReferat Pracy Dyplomowej
Referat Pracy Dyplomowej Team Pracy: Projekt i realizacja gry w technologii HTML5 z wykorzystaniem interfejsu programistycznego aplikacji Facebook Autor: Adam Bartkowiak Promotor: dr inż. Roman Simiński
Bardziej szczegółowoKlasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C
#import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowoTECHNIKI WWW (WFAIS.IF-C125) (zajęcia r.)
TECHNIKI WWW (WFAIS.IF-C125) (zajęcia 02.11.2016 r.) 1) Mediaqueries - szablon podstawowy Przykład z szablonu strony który dostosowuje się w zalezności od dostępnej szerokości ekranu dostępny jest pod
Bardziej szczegółowoktóra metoda jest najlepsza
która metoda jest najlepsza dr inż. Marek Żabka Instytut Matematyki Wydział Matematyki Stosowanej Politechnika Śląska 20 września 2012r Nowa metoda tworzenia grafiki na stronie internetowej: element,,canvas
Bardziej szczegółowoKURSY PROGRAMOWANIA DLA DZIECI
KURSY PROGRAMOWANIA DLA DZIECI NAZWA KURSU: Programy i gry komputerowe. GRUPA DOCELOWA: Szkoła Podstawowa klasy 4-6 (10-12 lat). OPIS KURSU: Podstawy programowania realizowane są w języku Scratch. Jest
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoZajęcia nr 15 JavaScript wprowadzenie do JavaScript
Zajęcia nr 15 JavaScript wprowadzenie do JavaScript Prowadzący: Andrzej Gąsienica-Samek, strona kółka www.atinea.pl/kolko Wprowadzenie do jsfiddle.net Uruchom Chrome i wejdź na stronę http://jsfiddle.net.
Bardziej szczegółowoCZYM JEST JAVASCRIPT?
JAVASCRIPT JAVASCRIPT - CECHY Język skryptowy stosowany w sieci WWW Stosowany przez autorów witryn WWW głównie w celu: poprawy wyglądu stron walidacji danych z formularzy wykrywania typu przeglądarki tworzenia
Bardziej szczegółowoJAVAScript w dokumentach HTML (2)
Informatyka ćw.6 JAVAScript w dokumentach HTML (2) Interakcyjne wprowadzanie danych Jednym ze sposobów jest stosowanie metody prompt dla wbudowanego obiektu window: zmienna= prompt("tekst zachęty, np.
Bardziej szczegółowoEfektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript
Kod szkolenia: Tytuł szkolenia: HTML5/ANG Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript Dni: 5 Opis: Adresaci szkolenia: Kurs przeznaczony jest dla programistów
Bardziej szczegółowoJavaScript funkcyjność
JavaScript funkcyjność WWW 9 kwietnia 2014 Możliwości tworzenia dynamicznych stron WWW HTML i CSS. Skrypty CGI (Perl, PHP). Serwery (django, java). Plug-iny. Ksiażka Większość przykładów pochodzi z ksiażki:
Bardziej szczegółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoTablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.
Obiekt document służy do reprezentacji wczytanego do przeglądarki dokumentu HTML oraz zawiera szereg właściwości i metod pozwalających na jego modyfikację. Poprzez ten obiekt można otrzymać dostęp praktycznie
Bardziej szczegółowoWIZUALIZACJA INFORMACJI TEKSTOWEJ WSTĘP DO HTML 5 CANVAS
WIZUALIZACJA INFORMACJI TEKSTOWEJ WSTĘP DO HTML 5 CANVAS Autor prezentacji: Michał Kołkowski Promotor: prof dr. hb. Włodzisław Duch SPIS TREŚCI 1. Ogólnie o Canvasie 2. Utworzenie szablonu do pracy z Canvas
Bardziej szczegółowoXML extensible Markup Language. część 5
XML extensible Markup Language część 5 JavaScript Co to jest JavaScript? JavaScript był zaprojektowany w celu dodania interaktywności do stron HTML JavaScript jest językiem skryptowym JavaScript jest zwykle
Bardziej szczegółowo2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Bardziej szczegółowo