(HTML5 Canvas) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op)
|
|
- Tapani Lahtinen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Selainohjelmointi 2D-animointi verkkosivuilla (JavaScript) (HTML5 Canvas) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) DI Juuso Markku Lappalainen Laine Mediatekniikan Informaatioverkostot laitos / Mediatekniikan laitos 28. lokakuuta 2014
2 Demo: HTML5 Pacman
3 Luennon jälkeen osaan toteuttaa yksinkertaisia 2Danimaatioita verkkosivuille HTML5 Canvas:n avulla.
4 Luennon sisältö Kertausta Animointiteknologiat verkossa HTML5 Canvas HTML Canvas 2D Context Animointi Yhteenveto ja tehtävänanto
5 Kertausta
6 Javascriptin liittäminen HTML-sivuille 1) Sisäinen <script> elementti 1) Ulkoinen *.js tiedosto
7 Tapahtumat DOM Level 3 Events W3C:n työluonnos, syyskuu 2014 Määrittelee tapahtumat, niiden kuuntelun ja etenemisen, jne. Yleisimmät tapahtumatyypit Käyttöliittymätapahtumat, esim. load Kohdistustapahtumat, esim. focus Hiiritapahtumat, esim. click, mouseover ja mousemove Näppäimistötapahtumat, esim. keyup ja keydown Lista tapahtumatyypeistä
8 Tapahtumarajapinnat ja niiden perintä
9 Tapahtumarajapinnat - esimerkki Hiiripainallusten kuuntelu function addeventlisteners() { canvas.addeventlistener( "mousedown", function( e ) { var x = e.offsetx;; var y = e.offsety;; var enemy = null;; for ( var i = 0;; i < enemies.length;; i++ ) { enemy = enemies[ i ];; if ( enemy.alive === true ) { if ( enemy.x <= x && x <= ( enemy.x + enemy.image.width ) && enemy.y <= y && y <= ( enemy.y + enemy.image.height ) ) { enemy.alive = false;; console.log( "Hit" );; } } } });; }
10 Olio-ohjelmointi JavaScriptillä JavaScript on oliopohjainen kieli JavaScript ei kuitenkaan tarjoa Javan kaltaista tukea olio-ohjelmoinnille Ei suoranaisesti tue luokkia, perintää, jne. Voidaan simuloida funktioiden ja prototyyppien avulla luokat, rakentajat, muuttujat, vakiot, metodit, Luokkien määrittelyyn useita eri tapoja Tarjolla myös erillisiä kirjastoja
11 Olio-ohjelmointi JavaScriptillä
12 Olio-ohjelmointi JavaScriptillä
13 Olio-ohjelmointi JavaScriptillä
14 jquery jquery on JavaScript-kirjasto, joka helpottaa ja nopeuttaa yleisimpien JavaScript-toimintojen toteutusta asiakaspäässä Yksinkertainen ja tiivis syntaksi Tukee yleisimmin käytettäviä toimintoja Ottaa huomioon selainten väliset eroavaisuudet Laajennettavissa liitännäiskoodin avulla
15 Debuggaus Firebug Liitännäinen Firefoxiin sekä JavaScript-pohjainen Lite versio kaikkiin selaimiin Web Developer Tools Sisäänrakennettu työkalu Firefoxiin Developer Tools Sisäänrakennettu työkalu Safariin ja Chromeen console.log(... ) metodi Tulostaa viestit konsolille Huomattavasti parempi vaihtoehto kuin vanha alert(... ) metodin käyttäminen à avaa ponnahdusikkunan
16 Testaus JSHint Validointipalvelu JavaScriptin/JSONin syntaksille BrowserStack Maksullinen testauspalvelu web-sovellusten alustariippumattomuuteen, vuorovaikutteinen Browsershots Ilmainen testauspalvelu web-sovellusten alustariippumattomuuteen, vain kuvakaappauksia
17 Animointiteknologiat verkossa
18 CSS Animations W3C:n työluonnos yksinkertaisille animaatioille, esim. efektit 2D- ja 3D-pikseligrafiikkaa CSS:llä Pystyy hyödyntämään tietokoneen GPU:ta Saatavilla korkeamman tason grafiikkakirjastoja Hyvä selain- ja työkalutuki Esimerkkejä:
19 Flash Adoben oma teknologia (ei avoin standardi) monimutkaisille animaatioille, esim. pelit 2D- (ja 3D-)vektorigrafiikkaa ActionScriptillä 3D pystyy hyödyntämään tietokoneen GPU:ta Saatavilla korkeamman tason grafiikkakirjastoja Hyvä selain- ja työkalutuki Vaatii liitännäisen (Adobe Flash Player) asentamisen selaimeen Ei toimi kaikissa mobiililaitteissa Muita vastaavia teknologioita mm. Microsoft Silverlight ja Oracle JavaFX
20 HTML Canvas 2D Context W3C:n suositusehdotus monimutkaisille animaatioille, esim. pelit Uusi versio työluonnosvaiheessa, 2D-pikseligrafiikkaa JavaScriptillä Käyttää HTML5 <canvas> Pystyy hyödyntämään tietokoneen GPU:ta Saatavilla korkeamman tason grafiikkakirjastoja Hyvä selain- ja työkalutuki
21 JavaScript-kirjastot Useita toteutuksia yksinkertaisille animaatioille, esim. efektit jquery, GSAP12,... 2D-pikseligrafiikkaa JavaScriptillä Eivät käytä (tässä yhteydessä) HTML5 <canvas> Pystyy hyödyntämään tietokoneen GPU:ta WebCL:n kautta, c/latest/index.html Erinomainen selain- ja työkalutuki
22 Scalable Vector Graphics (SVG) W3C:n suositus yksinkertaisille animaatioille, esim. efektit 2D-vektorigrafiikkaa XML:llä Pystyy hyödyntämään tietokoneen GPU:ta Saatavilla korkeamman tason grafiikkakirjastoja Hyvä selain- ja työkalutuki Suora DOM-integraatio <body> <svg height="100" width="500"> <ellipse cx="240" cy="50" rx="220" ry="30" style="fill:yellow" /> <ellipse cx="220" cy="50" rx="190" ry="20" style="fill:white" /> Sorry, your browser does not support inline SVG. </svg> </body>
23 Web-based Graphics Library (WebGL) Khronos Group:n spesifikaatio monimutkaisille animaatioille, esim. pelit 3D-pikseligrafiikkaa JavaScriptillä (OpenGL ES 2.0) Käyttää HTML5 <canvas> Pystyy hyödyntämään tietokoneen GPU:ta Saatavilla korkeamman tason grafiikkakirjastoja Hyvä selain- ja työkalutuki Toimii nyt myös IE:ssä
24 Animointiteknologioiden vertailu Teknologia Standardi Käyttötarkoitus Grafiikka Ohjelmointi Selain- ja työkalutuki CSS Animations W3C:n työluonnos yksinkertaiset animaatiot, esim. efektit 2D & 3D, pikseli CSS, deklaratiivinen ++ Flash Adoben liitännäinen selaimeen monimutkaiset animaatiot, esim. pelit 2D (& 3D), vektori ActionScript, imperatiivinen ++ HTML Canvas 2D Context + <canvas> W3C:n suositusehdotus monimutkaiset animaatiot, esim. pelit 2D, pikseli JavaScript, imperatiivinen ++ JavaScript-kirjastot useita toteutuksia yksinkertaiset animaatiot, esim. efektit 2D, pikseli JavaScript, imperatiivinen +++ SVG W3C:n suositus yksinkertaiset animaatiot, esim. efektit 2D, vektori XML, deklaratiivinen ++ WebGL + <canvas> Khronos Group:n spesifikaatio monimutkaiset animaatiot, esim. pelit 3D, pikseli JavaScript (OpenGL ES 2.0), imperatiivinen ++
25 HTML5 Canvas
26 Yleiskuvaus Käyttötarkoitus Tarjoaa piirtoalueen, johon voi lennossa piirtää 2D- ja 3D-pikseligrafiikkaa sekä kuvia JavaScript API:n avulla. HTML5 <canvas> W3C:n suositusehdotus, elokuu 2013, 0.html#the-canvas-element Selaintuki Chrome 4.0+, Firefox 2.0+, IE 9.0+, Opera 9.0+, Safari 3.1+
27 Selaintuki
28 Piirtoalueen rajapinta Ominaisuudet Metodit Tapahtumat height getcontext(... ) width toblob(... ) todataurl(... )
29 Ominaisuudet height Määrittelee piirtoalueen korkeuden. Alustuksessa määritelty arvo voidaan määritellä myöhemmin uudelleen CSS:n avulla. Vakioarvo: 150 (px) width Määrittelee piirtoalueen leveyden. Alustuksessa määritelty arvo voidaan määritellä myöhemmin uudelleen CSS:n avulla. Vakioarvo: 300 (px)
30 Metodit getcontext( kontekstiid [,... ] ) Palauttaa kontekstiobjektin (tai null), joka tarjoaa JavaScript API:n piirtoalueelle piirtämistä varten. KontekstiID: 2d tai webgl. Ei vakioarvoa toblob( vastakutsu [, tyyppi,... ] ) Palauttaa piirtoalueen kuvan Blob-objektina (tai null). Tyypin vakioarvo: image/png todataurl( [ tyyppi,... ] ) Palauttaa piirtoalueen kuvan data:url:na (tai data:,). Tyypin vakioarvo: image/png
31 Koordinaatisto (0, 0) x y (6, 2)
32 Koko näyttöalan käyttöönotto 1) HTML määrittelyt 1) CSS määrittelyt
33 Koko näyttöalan käyttöönotto 3) JavaScript määrittelyt
34 HTML Canvas 2D Context
35 Yleiskuvaus Käyttötarkoitus Tarjoaa JavaScript API:n, joka mahdollistaa 2Dpikseligraafikan ja -kuvien lennossa piirtämisen ja animoinnin piirtoalueelle. HTML Canvas 2D Context W3C:n suositusehdotus, elokuu 2014, Selaintuki Chrome 4.0+, Firefox 2.0+, IE 9.0+, Opera 9.0+, Safari 3.1+
36 Toiminnot Muotojen (esim. suorakulmiot ja ympyrät) piirtäminen Tekstien piirtäminen Gradienttien, kuosien ja varjojen piirtäminen Kuvien piirtäminen ja pikselimanipulaatioiden tekeminen Mukaan lukien liitosoperaatioiden tekeminen Piirtoalueen tilojen tallentaminen ja palauttaminen Piirtoaluemuunnosten (esim. siirto ja kierto) tekeminen Piirtoaluekuvan tallentaminen
37 Yleiset ominaisuudet canvas Palauttaa 2D-konteksti API:iin liitetyn piirtoalueen. Ei vakioarvoa
38 Muotojen piirtäminen
39 Toiminnot Ominaisuudet Tyylit suorille viivoille, ääriviivoille, täytöille ja osittain teksteille Esim. väri ja paksuus Metodit Muotojen piirtäminen mukaan lukien ääriviivat ja täytöt Esim. suorat viivat, käyrät, polut, suorakulmiot, monikulmiot ja ympyrät
40 Rajapinta muotojen piirtämiseen Ominaisuudet Metodit Metodit fillstyle rect(... ) beginpath() strokestyle fill() & (... ) closepath() linewidth stroke() & (... ) moveto(... ) linecap fillrect(... ) lineto(... ) linejoin strokerect(... ) clip() & (... ) miterlimit clearrect(... ) ispointinpath(... ) & (... ) arc(... ) scrollpathintoview() & (... ) arcto(... ) drawsystemfocusring(... ) & (... ) quadraticcurveto(... ) drawcustomfocusring(... ) & (... ) beziercurveto(... ) addpath(... ) (Path)
41 Muotojen piirtäminen
42 Ympyröiden kulmat
43 Ympyröiden kulmat
44 Tekstien piirtäminen
45 Toiminnot Ominaisuudet Fontti, tasaus,... Metodit Tekstien piirtäminen mukaan lukien ääriviivat ja täytöt Tekstin ominaisuuksien mittaaminen
46 Rajapinta tekstin piirtämiseen Ominaisuudet Metodit font filltext(... ) textalign stroketext(... ) textbaseline measuretext(... ) width (TextMetrics)
47 Tekstien piirtäminen
48 Gradienttien, kuosien ja varjojen piirtäminen
49 Toiminnot Ominaisuudet Varjojen väri, sumentuvuus ja etäisyys Metodit Erilaisten gradienttien piirtäminen Kuosien piirtäminen Varjojen piirtäminen
50 Rajapinta gradienttien, kuosien ja varjojen piirtämiseen Ominaisuudet Metodit shadowoffsetx createlineargradient(... ) shadowoffsety createradialgradient(... ) shadowblur shadowcolor createpattern(... ) addcolorstop(... ) (CanvasGradient)
51 Gradienttien piirtäminen
52 Kuosien piirtäminen
53 Varjojen piirtäminen
54 Kuvien piirtäminen ja pikselimanipulaatioiden tekeminen
55 Toiminnot Ominaisuudet Kuvaolio ja sen tiedot Esim. leveys ja korkeus Läpinäkyvyys Liitosoperaatiomenetelmä Metodit Kuvien piirtäminen Pikselimanipulaatioiden tekeminen
56 Rajapinta kuvien piirtämiseen ja pikselimanipulaatioiden tekemiseen Ominaisuudet Metodit data (ImageData) createimagedata(... ) & (... ) height (ImageData) getimagedata(... ) width (ImageData) putimagedata(... ) & (... ) globalalpha drawimage(... ) & (... ) & (... ) globalcompositeoperation
57 Kuvamanipulaatioiden tekeminen
58 Pikselimanipulaatioiden tekeminen
59 Pikselitaulukko
60 Liitosoperaatioiden tekeminen
61 Piirtoalueen tilojen tallentaminen ja palauttaminen
62 Toiminnot Metodit Piirtoalueen tilojen tallentaminen ja palauttaminen Käteviä piirtoaluemuunnosten kanssa Käyttävät pinoa (FILO = First In, Last Out) Käsittää muunnokset, leikkausalueen sekä muotojen ja tekstien ominaisuudet (globalalpha, globalcompositeoperation, strokestyle, fillstyle, linewidth, linecap, linejoin, miterlimit, shadowoffsetx, shadowoffsety, shadowblur, shadowcolor, font, textalign ja textbaseline)
63 Rajapinta piirtoalueen tilojen tallentamiseen ja palauttamiseen save() restore() Metodit
64 Piirtoaluemuunnosten tekeminen
65 Toiminnot Metodit Erilaisten piirtoaluemuunnosten tekeminen Esim. kiertäminen ja siirtäminen Muunnokset koskevat koko koordinaatistoa
66 Muunnettu koordinaatisto (0, 0) context.translate( 2, 1);; (0, 0) y x (6, 2) (6, 2)
67 Rajapinta piirtoaluemuunnosten tekemiseen scale(... ) rotate(... ) translate(... ) Metodit transform(... ), suhteellinen muunnos edellisiin nähden settransform(... ), absoluuttinen muunnos edellisiin nähden
68 Skaalauksien tekeminen
69 Kiertojen tekeminen
70 Siirtojen tekeminen
71 Absoluuttisten (tai suhteellisten) muunnosten tekeminen
72 Animointi
73 Timing control for script-based animations (requestanimationframe) Käyttötarkoitus Tarjoaa JavaScript API:n animointiin, jonka ansiosta optimaalisen animointinopeuden määritys voidaan siirtää ohjelmoijalta selaimelle. Timing control for script-based animations W3C:n työluonnos, lokakuu 2013, Selaintuki Chrome 10.0+, Firefox 4.0+, IE 10.0+, Opera 15.0+, Safari 6.0+
74 Väärä tapa animoida setinterval function animate(){ } // update objects // animate at 30 fps setinterval(animate, 1000 / 30);;
75 Väärä tapa animoida settimeout function animate(){ //update objects } // animate at ~30 fps settimeout(animate, 1000 / 30);;
76 Väärä tapa animoida settimeout function animate(){ var starttime = +new Date();; // in milliseconds //update objects var finishtime = +new Date();; // in milliseconds // animate at 30 fps settimeout(animate, (1000 / 30) - (finishtime - starttime));; }
77 Rajapinta animointiin Oikea tapa requestanimationframe( ) cancelanimationframe( ) Metodit
78 requestanimationframe() Selain valitsee parhaan ajan animoinnille Animointi pysähtyy kun ikkuna ei ole aktiivisena Ei mahdollisuutta asettaa aikaa itse Kuitenkin välittää ajan (millisekunteina 1970 luvun alusta) kutsutulle funktiolle (epoch time)
79 requestanimationframe() function animate(time){ //update objects } framehandle = requestanimationframe(animate);; var framehandle = requestanimationframe(animate);; FrameHandle on tarpeellinen, jos jossain tilanteessa haluaa pysäyttää animaation. RequestAnimationFrame komennon voi tällöin peruuttaa komennolla: cancelrequestanimationframe(framehandle);;
80 Animaatioiden tekeminen Perusvaiheet 1. Määrittele yleiset muuttujat (esim. velocityx ja velocityy) 2. Määrittele objektit (JavaScript-luokat) 3. Alusta objektit 4. Tyhjennä piirtoalue (koko tai muuttunut osa) 5. Piirrä objektit 6. Muuta objektien tiloja 7. Tarkista törmäykset, vuorovaikutus, yms. ehdot à Toista vaiheita 4-7, kunnes animaatio/peli loppuu (tutoriaali: Animaatiosilmukka
81 Animaatioesimerkki
82 Frames per second (FPS) Kuinka monta kuvaa piirretään sekunnissa (kuvia sekuntia kohden) Vaihtelee tietokoneen suorituskyvystä ja kuormituksesta riippuen
83 Frame-based motion Nopeus muodossa pixels/frame Voidaan ajatella animoinnissa, että jokin objekti liikkuu tietyn matkan jokaisella uudella kuvalla Ohjelmoijan helpompi ymmärtää Mutta: Vaihteleva FPS aiheuttaa sen, että välillä objektit liikkuvat nopeammin ja välillä hitaammin, jos objektin nopeus on määritelty esim. 150 pikseliä x-suunnassa / frame 120 pikseliä y-suunnassa / frame
84 Frame-based motion pixels / frame = (pixels / second) / fps tai pixels / frame = (pixels / second) * (second / frame) Jos objektin on määrä liikkua 200 pikseliä sekunnissa, ja FPS on 50, silloin sen pitää liikkua tässä framessa 4 pikseliä. (delta on 4) 200/50 = 4
85 Time-based motion Nopeus muodossa pixels/second Time-based motion = pixels/second on vakio Tällöin nopeus pysyy ajansuhteen vakiona riippumatta kuinka monta kuvaa tietokone pystyy piirtämään sekunnissa (eli riippumatta fps:stä)
86 Time-based motion var velocityx = 50;; // 50 pixels per second var velocityy = 100;; // 100 pixels per second animate(time){ // epoch time var elapsedtime = time - lasttime;; deltax = velocityx * (elapsedtime / 1000);; deltay = velocityy * (elapsedtime / 1000);; obj.x = obj.x + deltax;; obj.y = obj.y + deltay;; } lasttime = time;;
87 Time-based motion vs. Frame-based motion var velocityx = 50;; // 50 pixels per second var velocityy = 100;; // 100 pixels per second var velocityx = 50;; // 1 pixel per second var velocityy = 100;; // 2 pixels per second animate(time){ var elapsedtime = time - lasttime;; animate(time){ deltax = velocityx * (elapsedtime / 1000);; deltay = velocityy * (elapsedtime / 1000);; obj.x = obj.x + deltax;; obj.y = obj.y + deltay;; deltax = velocityx;; deltay = velocityy;; obj.x = obj.x + deltax;; obj.y = obj.y + deltay;; } lasttime = time;; }
88 Spritet Pikseligrafiikkana toteutettuja pelihahmoja Usein osittain läpinäkyviä (kuvassa musta) Yleisiä jo hyvin vanhoissa, esim. Commodore 64 ja Amiga:n peleissä Aiemmin toteutettu laitteistotasolla, PC:ssä ohjelmoitavia
89 Ilmaisia spritejä esim.
90 Sprite kuvien lataaminen // Load Sprite Sheet var marioimage = new Image();; marioimage.src = "img/smb_sprites.png";; // Document ready -> Load sprite sheet image (jquery syntax) $( document ).ready(imageloader);; // Image loaded -> start animation function imageloader(){ marioimage.onload = function() { animationframe = requestanimationframe(animate);; };; }
91 Sprite kuvien lataaminen // Notify Loader object that an image was loaded succesfully Loader.notifyImageLoad = function() { spritesloaded++;; // When all sprites loaded, notify Loader to continue if (spritesloaded === totalnumberofsprites) { } Loader.allSpritesLoaded();; }
92 Spriten piirto ja päivitys function sprite (options) { var that = {};; that.context = options.context;; that.width = options.width;; that.height = options.height;; that.image = options.image;; // Draw current sprite image that.render = function () { };; // Draw sprite that.context.drawimage( );; // Load Sprite Sheet var playerimage = new Image();; playerimage.src = player_sprite_sheet.png";; // Create sprite var player = sprite({ context: cnv.getcontext("2d"), width: 26, height: 35, image: playerimage });; } // Update sprite frame index that.update = function () { };; return that;; frameindex based image crop (x) frameindex
93 Näppäinkomennot ja liikutus event.preventdefault() estää komentoja valumasta eteenpäin (esim. selaimelle) Lisätietoa: var KEYCODE_LEFT = 37;; var KEYCODE_UP = 38;; var KEYCODE_RIGHT = 39;; var KEYCODE_DOWN = 40;; $(document).keydown(function(e) { if (e.keycode == KEYCODE_ESC) { cancelanimationframe(aniframe);; } });; if (e.keycode == KEYCODE_LEFT) { e.preventdefault();; // do something } if (e.keycode == KEYCODE_RIGHT) { } e.preventdefault();; // do something if (e.keycode == KEYCODE_UP) { e.preventdefault();; // do something } if (e.keycode == KEYCODE_DOWN) { } e.preventdefault();; // do something
94 Hiirikoordinaattien muuntaminen canvaskoordinaatistoon Perustapaus - canvas.getboundingclientrect() function getmousepos(canvas, evt) { var rect = canvas.getboundingclientrect();; return { x: evt.clientx - rect.left, y: evt.clienty - rect.top };; }
95 Hiirikoordinaattien muuntaminen canvaskoordinaatistoon Jos canvaksen kokoa skaalattu CSS:llä function getmousepos(canvas, evt) { var rect = canvas.getboundingclientrect();; return { x: evt.clientx - rect.left * (canvas.width / rect.width), y: evt.clienty - rect.top * (canvas.height / rect.height) };; }
96 Törmäystarkistus Useita eri tapoja toteuttaa Yksinkertaisin on käyttää tarkistukseen neliskulmaisia objektien reunoja rajaavia laatikoita (bounding box) * *Image from Starling Framework the Open Source Game Engine for Flash
97 Törmäystarkistus seinistä kimpoaminen update: function(){ this.left += this.velocityx;; this.top += this.velocityy;; } // Update X position // Update Y position if((this.left+this.width)>canvasw this.left<0){ // X-axis collision this.velocityx = -this.velocityx;; // Invert velocity direction if((this.left+this.width)>canvasw){ // Relocate based on bounce this.left -= (this.left+this.width)-canvasw;; } if(this.left<0){ this.left = -this.left;; } } if((this.top+this.height)>canvash this.top<0){ this.velocityy = -this.velocityy;; } // Relocate based on bounce // Y-axis collision // Invert velocity direction if((this.top+this.height)>canvash){ // Relocate based on bounce this.top -= (this.top+this.height)-canvash;; } if(this.top<0){ // Relocate based on bounce } this.top = -this.top;;
98 Törmäystarkistus Pyöreä rajaus
99 Törmäystarkistus Pixel perfect 1. Aluksi neliskulmainen bounding box tarkistus 2. Jos törmäys, tarkista pikseleiden tarkkuudella 3. Suhteuta spritekoordinaatit toisiinsa 4. Käy samanaikaisesti pikseleittäin läpi, kunnes jonkin pikselin kohdalla molemmissa alpha>0 5. Jos löytyi -> törmäys
100 Törmäystarkistus EaselJS Pixel Perfect Collision Detection for Bitmaps with Alpha Threshold // Rect Collision var intersection = ndgmr.checkrectcollision(bitmap1,bitmap2);; // intersection is null if no collision, otherwise a {x,y,width,height}-object is returned // Pixel Perfect Collision var collision = ndgmr.checkpixelcollision(bitmap1,bitmap2,alphathreshold);; // true or false // alphathreshold default is 0, set to higher value to ignore collisions with semi transparent pixels
101 Canvas kirjastoja - EaselJS
102 Canvas kirjastoja - KineticJS
103 Canvas kirjastoja Fabric.js
104 Canvas kirjastoja muita.. Comparison of 2D canvas libraries - NhUVFDYlRaaXlyX0xYSTVnalV5ZlE#gid=
105 Debuggaus Developer Tools (Canvas inspection) Sisäänrakennettu työkalu Chromeen FPS meter in Chrome Developer Tools
106
107 Yhteenveto ja tehtävänanto
108 Yhteenveto Animointiin verkossa on useita eri teknologioita Sopivan teknologian valinta riippuu usein vaatimuksista 2D vs. 3D Pikseligrafiikka vs. vektorigrafiikka Efekti vs. peli Saavutettavuus vs. teknologiademo HTML5 <canvas> tarjoaa standardoidun piirtoalueen 2D- ja 3D-pikseligrafiikan piirtämiseen HTML Canvas 2D Context tarjoaa standardoidun JavaScript API:n monimutkaisten 2D-pikseligrafiikkaanimaatioiden piirtämiseen piirtoalueelle
109 Tehtävänanto Jatkakaa aiemmissa harjoituksissa tekemiänne kotisivuja Upottakaa Harjoitukset-sivulle HTML5 <canvas> ja toteuttakaa siihen 2D-animaatio HTML Canvas 2D Context JavaScript API:n avulla Tehtävät on rakennettava itse valitun teeman ympärille Harjoitus tehdään itsenäisesti Harjoituksen vaatimukset sekä tarkempi tehtävänanto löytyvät kurssin MyCourses-sivuilta Harjoitustyöt-osiosta Palauttakaa harjoitus kurssin DIME-palvelimelle viimeistään maanantaina klo mennessä Työ tarjoaa erittäin hyvän pohjan projektityölle!
110
111 O Reilly Media 2013 (2nd Ed.) # of pages 750 ISBN
112 Prentice Hall 2012 (1st Ed.) # of pages 752 ISBN
113 Linkkejä
114 KIITOS!
(HTML5 Canvas) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op)
Selainohjelmointi 2D-animointi verkkosivuilla (JavaScript) (HTML5 Canvas) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Juuso Lappalainen Mediatekniikan
Lisätiedot2D-animointi verkkosivuilla (HTML5 Canvas)
2D-animointi verkkosivuilla Selainohjelmointi (JavaScript) (HTML5 Canvas) T-111.1100 Digitaalisen median työvälineet (3 op) CS-C1180 Verkkojulkaisemisen perusteet (5 op) Ville Kumpulainen DI Markku Laine
LisätiedotHTML5 video, audio, canvas. Mirja Jaakkola
HTML5 video, audio, canvas Mirja Jaakkola Video webbisivulla HTML5 mahdollistaa videon lisäämisen webbi-sivuille ilman plugineja. Yleisimmät videoformaatit webissä: Mpeg-4 eli H.264 Ogg Flash Perustuu
LisätiedotT Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mediatekniikan laitos / Informaatioverkostot
Selainohjelmointi Edistynyt verkkosivujen (JavaScript) kehitys T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) DI Mari Markku HirviLaine Mediatekniikan laitos
LisätiedotKrista Laiho. HTML5 Canvas. Canvasin soveltuminen banneriin. Metropolia Ammattikorkeakoulu. Medianomi. Viestinnän koulutusohjelma.
Krista Laiho HTML5 Canvas Canvasin soveltuminen banneriin Metropolia Ammattikorkeakoulu Medianomi Viestinnän koulutusohjelma Opinnäytetyö 22.11.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Krista
LisätiedotAlkuun HTML5 peliohjelmoinnissa
Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä
LisätiedotJWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari
JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti
LisätiedotKurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos
Kurssijärjestelyt ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos (Alkuperäiset luentokalvot: Markku Laine) 8. syyskuuta 2015 Luennon sisältö Kurssin
LisätiedotHarjoitustyö 5: 2D-animointi verkkosivuilla (HTML5 Canvas)
Harjoitustyö 5: 2D-animointi verkkosivuilla (HTML5 Canvas) Kurssin viidennessä harjoitustyössä tutustutaan 2D-animoinnin toteuttamiseen verkkosivuille HTML5 Canvas -elementin ja JavaScriptin (HTML Canvas
LisätiedotHarjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)
Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Kurssin toisessa harjoitustyössä tutustutaan verkkosivujen toiminnallisuuden toteuttamiseen JavaScript:n avulla. Lisäksi käydään läpi verkkosivuston
LisätiedotHTML 5 Johdanto. Mikä on HTML 5
HTML 5 Johdanto Antti-Jussi Lakanen Mikä on HTML 5 HTML 5 on uusistandardihtml-, XHTML-ja HTML DOM-määrittelyille HTML 4 tuliulosvuonna1999. Webbion muuttunut paljon niistä ajoista HTML 5:n speksion kesken.
LisätiedotKurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos
Kurssijärjestelyt CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos (Alkuperäiset luentokalvot: Markku Laine) 10. Tammikuuta 2017 Luennon sisältö
LisätiedotProjektityö ja pelikehitys
Projektityö ja pelikehitys Selainohjelmointi (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Pinja Hokkanen DI Markku Laine Mediatekniikanlaitos
LisätiedotJavascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript
LisätiedotWWW-sivujen Verkkosivujen ulkoasu (CSS)
WWW-sivujen Verkkosivujen ulkoasu (CSS) T-111.1100 Digitaalisen median työvälineet (3 op) T-111.1100 Digitaalisen median työvälineet (3 op) Markku Laine DI Pia Tukkinen Mediatekniikan laitos Mediatekniikan
LisätiedotLisätehtävät. Frantic 2015 sivu 1 www.frantic.com
Lisätehtävät Frantic 2015 sivu 1 www.frantic.com Fontit - Google fonts Fonttien käyttäminen verkossa ilman uusien fonttien lataamista on melko rajattua, sillä koskaan ei voi tietää mitä fontteja vastaanottajan
LisätiedotGRAAFISEN SUUNNITELUTYÖKALUN TOTEUTUS
GRAAFISEN SUUNNITELUTYÖKALUN TOTEUTUS LAHDEN AMMATTIKORKEAKOULU Tekniikan ala Tietotekniikan koulutusohjelma Ohjelmistotekniikka Opinnäytetyö Kevät 2013 Antti Terho Lahden ammattikorkeakoulu Tietotekniikan
LisätiedotAJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotJS-kehitys - yleiskuvaus. TIEA255 - Juho Vepsäläinen
JS-kehitys - yleiskuvaus TIEA255 - Juho Vepsäläinen Taustaa Basic, Pascal, C (PC, AVR), Java, Object Pascal (Delphi), PHP, Python, Lua, AS2, C++ (Qt) JavaScript,... Avoimen lähdekoodin proj. kehitystä
LisätiedotVideoeditointi: Adobe Premiere Pro CS4
Videoeditointi: Adobe Premiere Pro CS4 Sisältö Yleistä... 1 Ohjelman käynnistäminen... 2 Videon käyttöönotto... 4 Videon editoiminen... 6 Efektien lisääminen ja hienosäätö... 8 Tekstien lisääminen... 9
LisätiedotDigitaalisen median tekniikat. Luento 4: JavaScript
Digitaalisen median tekniikat Luento 4: JavaScript Luennot 1. Intro 2. XHTML 3. CSS 4. JavaScript Historia Syntaksi Dom Esimerkki: kuvagalleria 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus
LisätiedotInternet-pohjaisen oppimisympäristön laadinta. Luento 3
Internet-pohjaisen oppimisympäristön laadinta Luento 3 Aiheena tänään Toteutustekniikoista yleisesti Selainriippumattomuudesta Hot Potatoes -ohjelmasta JavaScriptin perusteista 31.01.2013 IPOPPLA 2 Toteutustekniikoista
LisätiedotWWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat 14.10.2010
WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi
LisätiedotWWW-Sivustojen suunnittelu
WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi
LisätiedotXPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy
IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,
LisätiedotJohdatus tutkimustyöhön. Harjoitus 9: Kenraaliharjoitus (Tiistain harkkaryhmä)
Johdatus tutkimustyöhön Harjoitus 9: Kenraaliharjoitus (Tiistain harkkaryhmä) Päivän To-do -lista Esittele oma työsi ryhmässä Valitse kenen työn haluat opponoida Heidi kierrättää listaa, merkitse siihen
LisätiedotProjektityö ja pelikehitys
Projektityö ja pelikehitys Selainohjelmointi (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) CS-C1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen DI Markku Laine Informaatioverkostot
LisätiedotKylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.
Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.2012 Hakemisto 1. Sivustot internetissä... 2 2. Yleistä... 2 3.
LisätiedotDigitaalisen median tekniikat. Luento 3: CSS
Digitaalisen median tekniikat Luento 3: CSS Luennot 1. Intro 2. XHTML 3. CSS Box Model Selektorit Esimerkkiä yms. 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus 7. Palvelinohjelmointi
LisätiedotHTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.
HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan
LisätiedotOHJELMOINTIA MONIPUOLISESTI MATEMATIIKAN OPETUKSESSA LUMA-PÄIVÄT, TAMPERE
OHJELMOINTIA MONIPUOLISESTI MATEMATIIKAN OPETUKSESSA LUMA-PÄIVÄT, TAMPERE Tuomo Riekkinen Pyhäselän koulu, Joensuu MIKSI OHJELMOINTIA MATEMATIIKKAAN? Joensuun kaupunki päätti hankkia kaikille 7. luokkalaisille
LisätiedotHarjoitus 2: Oppijan aktivointi (15.3.2016)
Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
Lisätiedotipad-mainokset Yleisiä ohjeita ja tekniikka lyhyesti www.richie.fi
ipad-mainokset Yleisiä ohjeita ja tekniikka lyhyesti www.richie.fi Koko sivun ipad-mainoksissa yhdistyvät uusien teknologioiden ja printtimainonnan parhaat ominaisuudet: Koko sivun mainos ei keskeytä,
LisätiedotXNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa.
XNA grafiikka laajennus opas Paavo Räisänen www.ohjelmoimaan.net Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei
LisätiedotHTML5 -elementit jatkuu
HTML5 -elementit jatkuu Harjoitus: xhtml.htm -> html5.htm Muuta tämä xhtml dokumentti HTML5:ksi: http://users.metropolia.fi/~norrm/s12/kalasu/xhtml.htm Validoi myös koodisi: http://validator.w3.org/ "Mallivastaus"
LisätiedotQT tyylit. Juha Järvensivu 2008
QT tyylit Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys QStyle Style sheet Tyyli (QStyle) Kapseloi widgettien Look And Feel ominaisuudet Toteutettu QT:ssa QStyle luokkaan Sisäänrakennettuja tyylejä
LisätiedotLaajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus
Laajuus 5 op Luennot: 12 x 2t 11.3.2014 29.4.2014 Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Lähiopetuksen jäkeen harjoitustyö ja tentti Aulikki Hyrskykari
LisätiedotDigitaalisen median tekniikat. JSP ja XML Harri Laine 1
Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan
LisätiedotDigitaalisen median tekniikat. JSP ja XML
Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan
LisätiedotLaiteriippumaton UI Ajaxilla ja Javalla
Laiteriippumaton UI Ajaxilla ja Javalla IT Mill Joonas Lehtinen, PhD CEO IT Mill Leading expert on RIA (Rich Internet Applications) Provides tools, services and support for software development for Web,
LisätiedotJava ja grafiikka. Ville Sundberg 12.12.2007
Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class
LisätiedotJavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)
JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos
LisätiedotW3C ja Web-teknologiat
W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto World Wide Web Consortium (W3C) W3C kehittää yhteensopivia teknologioita
LisätiedotHarjoitus 4: HTML5 piirtoalusta ( )!
! Tietokoneavusteinen opetus, 2017 Harjoitus 4: HTML5 piirtoalusta (24.3.2017)!! Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana: 10.3.,
LisätiedotWWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys
WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000
LisätiedotJohdatusta selainohjelmointiin
Johdatusta selainohjelmointiin Ohjelmat ja tyylit selaimessa ja HTML Jaana Holvikivi Selaimet ja HTML Selaimet: Internet Explorer, Exchange Firefox, Chrome Opera 10 Safari 4 Lukevat HTML sivuja ja asettelevat
LisätiedotJAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
LisätiedotHarjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)
Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
LisätiedotLuento 11: XSL-FO & SVG
Luento 11: XSL-FO & SVG AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XSL-FO & SVG XSL-FO Dokumentin rakenne Sivupohja ja sivujaksopohja Sisältö Muut ominaisuudet Dokumentin laadinta ja käyttö XSL-FO:n
LisätiedotWWW-sivujen Verkkosivujen ulkoasu (CSS)
WWW-sivujen Verkkosivujen ulkoasu (CSS) ME-C2300 Verkkojulkaisemisen perusteet (5 op) T-111.1100 Digitaalisen median työvälineet (3 op) Antti Tolppanen DI Pia Tukkinen Mediatekniikan laitos Mediatekniikan
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
LisätiedotSelaimen asetukset. Toukokuu 2014 1 (7) Selaimen asetukset. 1994-2014 Tikon Oy. All rights reserved.
Toukokuu 2014 1 (7) Selaimen asetukset Toukokuu 2014 2 (7) 1 Johdanto... 3 2 Windows... 3 3 Selaimet... 3 3.1 Yleiset asetukset (kaikki selaimet)... 3 3.1.1 Zoom-asetus... 3 3.1.2 Pop-up Blocker... 3 3.2
LisätiedotCSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia.
CSS1 CSS (Cascading Style Sheets) CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. Esim.
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 Layoutit Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi, Talentum 2004. Layout
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotSovelmat. Janne Käki
Sovelmat Janne Käki 24.11.2006 Sovellus extends JFrame public static void main(string[] args), joka tyypillisesti vain luo kehysluokan ilmentymän luontimetodi Sovelma extends JApplet ei main-metodia, ei
LisätiedotKäyttöliittymien uusi sukupolvi Logicalla Rondo-tuotteessa
Käyttöliittymien uusi sukupolvi Logicalla Rondo-tuotteessa Vesa Tuononen, Sovellusarkkitehti www.logica.fi 0400-814260 Vesa.Tuononen@logica.com Joonas Lehtinen, CEO, PhD www.itmill.com 040-5035001 Joonas.Lehtinen@itmill.com
LisätiedotRacket ohjelmointia II. Tiina Partanen 2015
Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita
Lisätiedot(JavaScript) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op)
Selainohjelmointi Verkkosivujen toiminnallisuus (JavaScript) (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) DI Juuso Markku Lappalainen Laine
LisätiedotAdobe Photoshop Elements, kuvakäsittelyn perusteet
Sivu 1 / 8 Adobe Photoshop Elements, kuvakäsittelyn perusteet Lyhyesti Tämän oppaan avulla voit - kääntää kuvan - valita kuvasta vain tietyn alueen ja poistaa kuvasta muut (eng. crop, suom. rajaus) - muuttaa
LisätiedotMuita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager
Missio: 1. Asentaminen 2. Valokuvien tarkastelu, tallennus/formaatit, koko, tarkkuus, korjaukset/suotimet, rajaus 3. Kuvan luonti/työkalut (grafiikka kuvat) 4. Tekstin/grafiikan lisääminen kuviin, kuvien/grafiikan
LisätiedotVerkkosivut perinteisesti. Tanja Välisalo 11.2.2009
Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate
LisätiedotCSS - tyylit. 13.11.2000 Seppo Räsänen
CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!
LisätiedotTutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.
3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.
Lisätiedot...ii...iii...x. 1 Silverlight NET Framework for Silverlight Silverlight Silverlight. 2-1 Visual Studio Silverlight...
...ii...iii...x 1 Silverlight 1-1 Silverlight...1-2 1-1.1...1-5 1-1.2.NET Framework for Silverlight...1-5 1-2 Silverlight...1-6 1-3 Silverlight...1-7 1-4 Silverlight...1-10 1-5 Silverlight...1-10 1-6...1-11
Lisätiedot(JavaScript) Aleksi O Connor DI Informaatioverkostot. Markku Laine Mediatekniikan laitos
Selainohjelmointi Verkkosivujen toiminnallisuus (JavaScript) (JavaScript) T-111.1100 CS-C1180 Digitaalisen Verkkojulkaisemisen median työvälineet perusteet (5 (3 op) op) Aleksi O Connor DI Informaatioverkostot
LisätiedotDigitaalisen median tekniikat Luento 1: Intro
Digitaalisen median tekniikat Luento 1: Intro Web Mahtava alusta tiedon välittämiseen! Information Superhighway! Web Archive! Gutenberg! DEMO Kirjasto ja analoginen media digitaaliseksi Julkaisutekniikan
LisätiedotKirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina
Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden
LisätiedotSkaalautuva vektorigrafiikka mobiiliselaimissa. Mihkel Lind
Skaalautuva vektorigrafiikka mobiiliselaimissa Mihkel Lind Opinnäytetyö Tietojenkäsittelyn koulutusohjelma 2016 Tiivistelmä Tekijä(t) Lind Mihkel Koulutusohjelma Tietojenkäsittely Opinnäytetyön otsikko
LisätiedotPosterin teko MS Publisherilla
Posterin teko MS Publisherilla Ensimmäisenä avaa MS Publisher 2010. Löydät sen Windows valikosta - All programs - Microsoft Office. Publisheriin avautuu allaolevan kuvan mukainen näkymä. Mikäli et näe
LisätiedotTikon Web-sovellukset
Toukokuu 2015 1 (11) Tikon Web-sovellukset Toukokuu 2015 2 (11) 1 Johdanto... 3 2 Silverlight sovellukset... 3 2.1 Windows... 3 2.1.1 Microsoft Silverlight... 3 2.1.2 Tablet-laitteet... 4 2.1.3 Selaimet...
LisätiedotTech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI
Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5
LisätiedotTavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.
RUUTU DYNAAMINEN SPOTTI TEKNISET OHJEET Versio 1.0 Yleistä Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. Dynaamiset spotit ovat flash mainoksia, jotka mahdollistavat
LisätiedotSIMULINK S-funktiot. SIMULINK S-funktiot
S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne
LisätiedotJReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002
JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotVerkkosivujen toiminnallisuus (JavaScript)
Verkkosivujen toiminnallisuus Selainohjelmointi (JavaScript) (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Juuso Lappalainen DI Markku Laine
Lisätiedot2. PEHMEÄ XHTML XRAJAHTML
Luennot 1. Intro 2. PEHMEÄ XHTML XRAJAHTML Dokumentin (matalan tason) rakenne DOCTYPE ja merkistökoodaukset Elementtien syvät rajat 3. CSS 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys &
LisätiedotPeliohjelmointi: Kontrollilaitteet. Teppo Soininen
Peliohjelmointi: Kontrollilaitteet Teppo Soininen Lähteet: Core Techniques and Algorithms in Game Programming, MSDN, www.xbox.com, www.playstation.com Arsenaali Tietokonepeleissä käytettäviä kontrollilaitteita
Lisätiedot6 XML-työkalut 1. 6 XML-työkalut
6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on
LisätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotTikon Web-sovellukset
Marraskuu 2014 1 (9) Tikon Web-sovellukset Marraskuu 2014 2 (9) 1 Johdanto... 3 2 Windows... 3 2.1 Microsoft Silverlight... 3 3 Tablet-laitteet... 4 4 Selaimet... 5 4.1 Yleiset asetukset (kaikki selaimet)...
LisätiedotCT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö
CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö 0349955 Pekka Hyvärinen 0342194 Joonas Heikelä 0327708 Miro Temonen 0350122 Sami Tuominen Yleistä Seminaarityö osa kurssia Käyttöjärjestelmät
LisätiedotARVO - verkkomateriaalien arviointiin
ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 5/8: Mediaelementit Edellinen
LisätiedotKuva xhtml-sivulla. Mirja Jaakkola
Kuva xhtml-sivulla Mirja Jaakkola Sisältö 3. Kuva www-sivulla 4. img-elementti 5. Kuvan koko 6. Kuvan keskitys vaakasuoraan & kuvateksti 7. Kuvan tasaus pystysuoraan 8. Esimerkki: pystysuora tasaus eri
LisätiedotKuvat. 1. Selaimien tunnistamat kuvatyypit
Kuvat Kuvia voi liittää xhtml-sivulle -elementillä -elementillä -elementillä lomakkeiden yhteydessä lähinnä painikenappeja taustakuvina -elementin background-attribuutilla tai
LisätiedotIT ja viestintäteknologia
IT ja viestintäteknologia 206 Verkkosivujen tuottaminen Kuva: Skills Finland / Markku Heikkilä Lajivastaavat Miikka Merikanto 1 / 12 Suomen Liikemiesten Kauppaopisto miikka.merikanto(at)businesscollege.fi
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotKotisivujen teko. Jan Lindholm Kirkkonummen kansalaisopisto Syksy koodari.eu jsbin.com
Kotisivujen teko Jan Lindholm Kirkkonummen kansalaisopisto Syksy 2014 koodari.eu jsbin.com Käyttäjätunnus / Salasana aoppilas.01 / aoppilas#2013# aoppilas.02 / aoppilas#2013# aoppilas.03 / aoppilas#2013#
LisätiedotPlanssit (layouts) ja printtaus
1 / 21 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto 17.11.2015 Planssit (layouts) ja printtaus Yksittäisen kuvan printtaus 2 / 21 Ennen printtausta valitse näkymä, jonka haluat printata, klikkaamalla
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 5 Qt: Grafiikan piirto Juha-Matti Vanhatupa Sisältö GDI Qt paint system Koordinaatisto-operaatioita
Lisätiedot7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen
1 / 11 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto 7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen Kertauslista yleisimmistä komennoista 2 / 11 Kuvan tuominen: PictureFrame Siirtäminen:
LisätiedotInternet-pohjaisen oppimisympäristön laadinta. Luento 4
Internet-pohjaisen oppimisympäristön laadinta Luento 4 Aiheena tänään JavaScript jquery HTML5 Ääni, video Web Storage Evästeet Kertausta 05.02.2015 IPOPPLA 2 JavaScript - DOM-malli Tapa päästä käsiksi
LisätiedotJavaScript alkeet Esimerkkikoodeja moniste 3 (Metropolia 11/2011)
JavaScript alkeet Esimerkkikoodeja moniste 3 (Metropolia 11/2011) Array (taulukko) olio Esim. 9.1. taulukko eli Array olio kirjataulukko
LisätiedotKuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla
Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla Avaa Paint.NET tuplaklikkaamalla sen pikakuvaketta. Paint.NET avautuu tämän näköisenä. Edessä on tyhjä paperi. Saadaksesi auki kuvan, jota aiot pienentää
LisätiedotHarjoitus 2: Raahaus, satunnaisuus ja taulukot ( )!
Tietokoneavusteinen opetus, 2017 Harjoitus 2: Raahaus, satunnaisuus ja taulukot (14.3.2017) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana:
Lisätiedot