Harjoitus 2: Oppijan aktivointi (15.3.2016)



Samankaltaiset tiedostot
Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( )!

Harjoitus 1: Perusteet, navigointi ja tekstinsyöttö ( )!

Flash ActionScript osa 4

Harjoitus 4: HTML5 piirtoalusta ( )!

Hiirisanomiin vastaaminen. 2007

Interaktiivinen käyttöliittymä. 2008

Digitaalisen median tekniikat JavaScript_osa Harri Laine 1

Digitaalisen median tekniikat JavaScript_osa2

Osio 4: Graafinen käyttöliittymä

Listarakenne (ArrayList-luokka)

Ohjelmoinnin jatkokurssi, kurssikoe

2016/07/05 08:58 1/12 Shortcut Menut

Alkuun HTML5 peliohjelmoinnissa

Ratojen piirto Condesilla, ratamestarin osuus

EDMODO. -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

GeoGebra-harjoituksia malu-opettajille

Taulukoiden käsittely Javalla

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 8. Quick Start - opas Condes 8. olfellows 1.

Sanat, sointumerkit...

Harjoitus 2 (viikko 45)

Harjoitus Particle View

Ohjeita informaation saavutettavuuteen

JavaScript alkeet Esimerkkikoodeja moniste 2 ( Metropolia)

Java-kielen perusteet

Metodien tekeminen Javalla

Simulointi. Tapahtumapohjainen

Teoriatausta. Työvaiheet. CAD työkalut harjoituksessa. CAE DS Muotinsuunnitteluharjoitukset

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Flash ActionScript osa 2

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

C# Windows ohjelmointi perusopas

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Web Services tietokantaohjelmoinnin perusteet

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

HARJOITUS 1 SUUNNITTELUMALLI

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Verkkosivut perinteisesti. Tanja Välisalo

ITKP102 Ohjelmointi 1 (6 op)

Scratch ohjeita. Perusteet

Jypelin käyttöohjeet» Ruutukentän luominen

Ehto- ja toistolauseet

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

Posterin teko MS Publisherilla

Uutiskirjesovelluksen käyttöohje

ITKP102 Ohjelmointi 1 (6 op)

WINDOWS 10 -kurssi.

LUKU 17 MUUTAMIA JAVA FX -SOVELLUKSIA. Tässä dokumentissa esitellään muutamia Java FX -sovelluksia.

Tietorakenteet (syksy 2013)

Merkkijonon tutkiminen matches-metodilla

PlanMan Project 2015 projektihallintaohjelmisto loma-aikataulu

Flowcode 6 Omien komponenttien luonti 3D- tilassa Ledi

Attribuutit. Copyright IT Press Tämän e-kirjan kopiointi, tulostaminen ja jakeleminen eteenpäin luvatta on kielletty.

Derivaatta graafisesti, h- ja keskeisdifferenssimuodot GeoGebralla Valokuva-albumi

Ohjelmointi 1 C#, kevät 2013, 2. tentti

JUnit ja EasyMock (TilaustenKäsittely)

Ohjelmoinnin peruskurssi Y1

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Jahtipaikat.fi Käyttöohje

Muistitikun liittäminen tietokoneeseen

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Aloita uusi kartoitus -painikkeesta käynnistyy uuden kartoituksen tekeminen

HARJOITUKSIA ios-ohjelmointiin LIITTYEN

Olio-ohjelmointi Javalla

Mukavia kokeiluja ClassPad 330 -laskimella

Aloitusohje versiolle 4.0

Omien lomakkeiden käyttöönotto

CISS Base Excel raporttien määritys Käyttäjän käsikirja. CISS Base Käyttäjän Käsikirja Econocap Engineering Oy 1

Voit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä.

1. Taustatietoa näppäimistönkuuntelusta

GIS-ANALYYSI PAIKKATIETOIKKUNASSA. Matias Järvinen 2019

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Liiketalous syksy 2012

Java-kielen perusteita

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

Voodoo Dragon. Voodoo Dragon. Käyttäjän opas. Versio 1.0

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

PlanMan Project projektihallintaohjelmisto koulutusohjeistus

Jos haluat uuden Share-työkalun, valitse Pods -> Share -> Add New Share tai jos sinulla on jo auki Share-työkalu, näyttää se tältä:

Graafisen käyttöliittymän ohjelmointi

Tietotyypit ja operaattorit

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

zotero

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Ohjelmoinnin perusteet, 1. välikoe

Osio 4: Graafinen käyttöliittymä

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Kun olet valmis tekemään tilauksen, rekisteröidy sovellukseen seuraavasti:

YH2: Office365 II, verkko-opiskelu

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

Piirilevyohjelma ARES

Transkriptio:

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 esitellään Flashin toimintoja ja tehdään harjoituksia. Kunakin perjantaina on kaksi harjoitusryhmää, joissa kaikissa käsitellään sama sisältö. Harjoitusryhmät järjestetään kello 10.15 12 ja 12.15 14 mikroluokassa Pinni B1083. Harjoitusryhmiin saa saapua vapaasti ei ennakkoilmoittautumista. Flash-harjoituksien tiedotussivu on osoitteessa: http://www.uta.fi/sis/tie/tao/flash.html Tehtävät julkaistaan etukäteen webissä, mutta ne käydään läpi yhteisesti Flash-harjoituksissa perjantaisin. Toisin kuin laitoksen kurssien viikkoharjoituksissa normaalisti, tehtäviä ei tarvitse tehdä etukäteen. Tehtävät ovat luonteeltaan sellaisia, että niihin löytyy helposti apua ja lisätietoja webistä. Hakukoneen avulla on helppo löytää ainakin englanninkielisiä ohjesivuja, joilla käsitellään Flashia. Toisen harjoituskerran aiheita ovat erilaiset tavat oppijan aktivointiin sekä tällaisten vuorovaikutteisten osuuksien toteuttaminen Flashin ActionScript-ohjelmoinnilla. Vuorovaikutteisia toimintoja ovat esimerkiksi tekstinsyöttö, raahaus ja pistelaskenta. Harjoituksissa opetetaan mm. tapahtumien käsittelyä Flashissa. Tämän kerran tavoitteena on tutustua erilaisiin tapoihin aktivoida oppijaa ja miten tällaisia vuorovaikutteisia osuuksia saadaan aikaiseksi Flashin ActionScript-ohjelmoinilla. ActionScript-ohjelmointi perustuu järjestelmässä syntyvien tapahtumien (event) käsittelyyn. Näitä tapahtumia on kahdenlaisia: käyttäjän aiheuttamia (user event) ja järjestelmän luomia (system event). Käytännössä siis Flash-ohjelmointi on näiden tapahtumien käsittelyä. CS6:ssa tapahtumia käsitellään siten, että sovelluksen tekijä määrittelee tapahtumankäsittelyfunktion ja liittää sen ko. tapahtumia aikaansaavan komponentin tapahtumakuuntelijoiden joukkoon metodilla addeventlistener. instanssinimi.addeventlistener(tapahtuma, tapahtumakasittelija); Tapahtuma on merkkijono. Useimmat valmiit tapahtumatyypit, kuten hiiritapahtuma, määrittelevät merkkijonovakiot tapahtumille. Näitä vakioita voi käyttää tavallisten merkkijonojen sijasta. Seuraavat kaksi esimerkkiä ovat identtiset toiminnaltaan: instanssinimi.addeventlistener( click, tapahtumakasittelija); instanssinimi.addeventlistener(mouseevent.click, tapahtumakasittelija); Näissä harjoituksissa keskitytään käyttäjän aiheuttamien tapahtumien, kuten hiiritapahtumat, käsittelyyn. Tapahtumankäsittelijä on tavallinen ActionScript-funktio, joka saa parametrinaan funktiokutsun laukaisseen tapahtuman: function tapahtumakasittelija( tapahtuma ) { // Oma koodi tänne. ; Tietokoneavusteinen opetus 2016 Joel Luukka (Alkup. dok. Juha Kari, Lauri Immonen) 1 / 5

Hiiritapahtumia (MouseEvent) ja niitä vastaavia merkkijonoja ovat mm.: CLICK "click" CLOSE "close" DOUBLE_CLICK "doubleclick" MOUSE_DOWN "mousedown" MOUSE_LEAVE "mouseleave" MOUSE_MOVE "mousemove" MOUSE_OUT "mouseout" MOUSE_OVER "mouseover" MOUSE_UP "mouseup" MOUSE_WHEEL "mousewheel" ROLL_OUT "rollout" ROLL_OVER "rollover" Tapahtuman kohteena voi olla nykyinen elokuva ja sen aikajana: function handler( event ) { stop(); Tai kohteena voi olla nimetty instanssi: function stopmovieclip( event ) { toinenmovie.stop(); 0. Navigointi eri kohtausten (Scene) välillä Tehdään viime kerrasta tutut painikkeet, joilla voi navigoida kohtausten välillä. Kohtauksen voi nimetä uudelleen tuplaklikkaamalla sitä Scene-paneelissa (Window Design Panels Scene tai Shift+F2). Voit käyttää myös viime kerran ohjelmaa pohjana tai ladata malliohjelman osoitteesta: http://people.uta.fi/~joel.luukka/tao/ Tietokoneavusteinen opetus 2016 Joel Luukka (Alkup. dok. Juha Kari, Lauri Immonen) 2 / 5

1. Tekstinsyöttö Tehdään tietovisa, jossa käyttäjä vastaa kysymykseen kirjoittamalla vastauksen tekstikenttään. Tämän jälkeen käyttäjä painaa tarkista-painiketta ja saa palautetta vastauksestaan. Luo kysymys teksti-työkalulla. Aseta tekstin tyypiksi Properties-lehdellä Static Text. Tee vastaukselle toinen tekstikenttä ja aseta sen tyypiksi Input Text. Varmista, että teksti on Classic Text, eikä TLF. Valitse behavior -kohdasta Single Line. Anna tekstikentän instanssille nimi vastaus, eli kirjoita kentän ominaisuuksissa kohtaan <instance name> vastaus. Nyt pääset käsittelemään kentän sisältöä skriptistä käsin. Tee vielä palautteelle yksi tekstikenttä ja aseta tämän tyypiksi Dynamic Text. Anna tekstikentälle instanssinimi palaute. Lisää vielä tarkista-painike. Voit hakea painikkeen kirjastosta tai tehdä sellaisen itse viime kerralla opitulla tavalla. Anna painikkeen instanssille nimi, vaikkapa tarknappi. Liitä painikkeeseen seuraava tapahtumankuuntelija: function tarkasta_vastaus( event ) { // Korvaa oikea vastaus // oman kysymyksesi oikealla vastauksella. if (vastaus.text == "oikea vastaus") { palaute.text = "Hyvä Oikein meni"; else { palaute.text = "Väärin."; Jos tekstit eivät näy oikein, kokeile fontin vaihtamista toiseen, esim. Verdanaan. 2. Raahaus Tehdään uuteen kohtaukseen raahaustehtävä, jossa raahataan palloja laatikkoon. Tee piirtotyökaluilla Stagelle yksi pallo ja yksi laatikko. Muuta nämä MovieClip-olioiksi: Valitse objekti Stagella ja valitse hiiren oikealla painikkeella avautuvasta valikosta Convert to Symbol. Nimeä objektit. Valitse koko objekti valintatyökalun avulla, pelkkä klikkaus valitsee vain keskustan mutta ei ääriviivaa. Anna laatikolle instanssinimi maali. Luo palloja kolme kappaletta raahaamalla kirjastosta. Anna myös palloille instanssinimet. Tee vielä yksi tekstikenttä (Dynamic Text) ja anna sille instanssinimi palaute2. Tietokoneavusteinen opetus 2016 Joel Luukka (Alkup. dok. Juha Kari, Lauri Immonen) 3 / 5

Lisää tapahtumakäsittelijät hiiren painamiselle ja vapauttamiselle. Jokaiseen tapahtumaan on sidottu se elementti joka saa tapahtuman aikaiseksi. Ko. elementti löytyy tapahtumaparametrin (event) target ominaisuudesta (property). stop(); var x_koord = 0; // näihin muuttujiin asetetaan liikutettavan var y_koord =0; // elementin alkuperäiset x- ja y- // koordinaatit. Ensin ne kuitenkin nollataan // sijoittamalla niihin arvo nolla. palaute2.text ="Raahaa"; // asetetaan alkuteksti palautekenttään function drag_on( event ) { palaute2.text = ""; // tyhjennetään palaute x_koord = event.target.x; // ja otetaan liikutettavan // kappaleen (event.target) // koordinaatit y_koord = event.target.y; // talteen event.target.startdrag(); // aloitetaan raahaus { function drag_off( event ) event.target.stopdrag(); // lopetetaan raahaus // droptarget kertoo sen elementin joka on pudotettavan // kappaleen alla, jos alla ei ole mitään, droptarget on // null. droptarget on alin mahdollinen primitiivi eli // tässä tyyppiä shape,. Jotta homma saadaan toimimaan // meidän täytyy katsoa mihin elementtiin ko. shape // kuuluu. Tämä tapahtuu parent ominaisuuden kautta. // && on looginen ja, = on eri suuri kuin eli // seuraavalla rivillä katsotaan onko alla // kappaletta JA jos on niin mikä sen instanssinimi on. if ( event.target.droptarget = null && event.target.droptarget.parent.name == "maali") { palaute2.text = "Hyvä"; else { // Joko alla ei ole kohdetta tai se ei ole maali. // Palautetaan raahattavalle kappaleelle alkuperäiset // koordinaatit ja annetaan palautetta. event.target.x= x_koord; event.target.y= y_koord; palaute2.text = "Ei osunut."; Tietokoneavusteinen opetus 2016 Joel Luukka (Alkup. dok. Juha Kari, Lauri Immonen) 4 / 5

Lisää tapahtumakuuntelijat jokaiselle pallolle. pallox.addeventlistener( MouseEvent.MOUSE_DOWN, drag_on ); pallox.addeventlistener( MouseEvent.MOUSE_UP, drag_off ); Meneekö kaikki niin kuin pitääkin? Jos pallo menee raahattaessa maalin taakse, tuo pallo etualalle tai siirrä maali taka-alalle arrange-valikon avulla. 3. Pistelaskenta Lisätään äsken tehtyyn raahaustehtävään pisteiden laskenta. Tee dynaaminen tekstikenttä ja anna sille nimi pisteet. Lisää ensimmäiseen Frameen skripti, joka nollaa pisteet: pisteet.text = 0 ; Lisää drag_off-tapahtumankäsittelijän if-lauseeseen rivit, joilla pisteitä lisätään: pisteet.text = String(Number(pisteet.text)+1); Tässä siis sijoitetaan pisteet.text tekstikenttään merkkijono (String), joka muodostetaan numerosta, mikä koostuu pisteet-kentän aiemmasta sisällöstä, johon on lisättynä yksi. Tekstikentän sisältö pitää aluksi muuttaa numeroksi (Number), jotta sitä voi kasvattaa ja tämän jälkeen numero on muutettava takaisin merkkijonoksi, jotta sen voi sijoittaa tekstikenttään. Tietokoneavusteinen opetus 2016 Joel Luukka (Alkup. dok. Juha Kari, Lauri Immonen) 5 / 5