Herfst 06 | Mobiele telefoons

Leerdoelen

Deze les

Wat is flash-Lite

Als je zelf applicaties wilt bouwen op de mobiele telefoon kan je hier flash-Lite voor gebruiken. Flash-lite is de versie van flash die geschikt is voor mobiele telefoons. De huidige versie is gebaseerd op de functionaliteit van flashplayer 4 (vrij minimaal). Deze player draait op de Symbian 60 series.

Binnenkort komt Flash-Lite 2.1 uit. Deze is gebaseerd op de functionaliteit van de flashplayer 7. Deze nieuwe versie draait naast Symbian ook op Windows Mobile 5.0. Je kunt een update downloaden van flash 8, waarmee je ook voor flash-Lite 2.1 kunt ontwikkelen. De player voor op de mobiele telefoon moet je kopen. Dit kost 8 dollar.

Download flash 8 update: https://store2.adobe.com/support/flash/downloads.html#flash8

Programeren in Flash-Lite 1.1

In de oude versie zijn er nog allerlei beperkingen. Deze les wil ik hier toch nog aandacht aanschenken. Hieronder voeg ik een voorbeeld toe, waarbij ik een indruk geef hoe dat werkt in de oude flash. Hieronder nu eerst een overzicht van de mogelijkheden om informatie op te vragen uit de telefoon. In deze les staat een screenshot uit de help van flash 8. Dus meer informatie is goed te vinden in flash 8 zelf.

De meeste van deze voorbeelden spreken voorzich en hebben een directe relatie met de telefoon. Je kunt dus prima displays maken waarbij je ook status informatie over de batterij en dergelijke kan laten zien. Het is dus ook mogelijk om als je een spelletje maakt, de telefoon te laten trillen als je geraakt of dood bent. Je kunt tijd gebruiken, taalsettings uitlezen etc. Eigenlijk alles wat je evt nodig hebt om iets te maken.

Als je een flashapplicatie begint staat er automatisch al code in de tijdlijn. Hier staat het volgende:

// this ActionScript sets your content to be full screen
   fscommand2("FullScreen",true);

Dit betekent dat je applicatie altijd op elke telefoon op fullscreen zal worden weergegeven.

Naast deze commando's die gebruik maken van de telefoon kan je gewoon script schrijven, bijna zoals je gewent bent. Je kunt if en else gebruiken, gotoAndStop en gotoAndPlay. De propeties werken op de zelfde manier. Het enige wat anders is, is de wijze waarop je een movieclip aanspreekt. Hiervoor gebruik je tellTarget. In onderstaand voorbeeld wordt dit duidelijk.

Voorbeeld

Je kunt met de pijltjes naar beneden en naar boven scrollen door de alfabetische lijst. Waneer je dit op een telefoon zet, kan je de scrolltoetsen gebruiken.

Om dit te bewerkstelligen heb ik twee pijltjes knoppen en een movieclip gemaakt. De movieclip is een lange movieclip waar alle letters van het alfabet (nu ja, alle.. tot x ) in zitten. Deze movieclip kan je naarboven verplaatsen waardoor het lijkt dat je deze scrollt. Dit scrollen werkt omdat ik aan de naar boven knop heb ik het volgende script heb gekoppeld:

on (keyPress "<Up>") {
if (vLoc < 0){
vLoc += 25;
}
setProperty("mcContent", _y, vLoc);
}

Aan de naar beneden knop hetzelfde script maar dan andersom:

on (keyPress "<Down>"){
if (vLoc > -450){
vLoc -= 25;
}
setProperty("mcContent", _y, vLoc);
}

Je ziet dat dit er heel normaal uitziet. Alleen het veranderen een een property in dit geval de _y werkt wel iets anders. Je schrijft namelijk in actionscript 1.0 dit in een soort functie.
mcContent is de naam van de movieclip die ik aanstuur.

Naast dat properties anders werken werkt het ook iets anders als je in een movieclip gotoAndStop wilt gebruiken. Hieronder twee scripts naast alkaar

Flash Lite - actionscript 0.1 Flash 8 - actionscript 2.0
on (keyPress "<Down>"){
tellTarget("mcContent"){
gotoAndStop(5);
}
}
on (keyPress "<Down>"){
mcContent.gotoAndStop(5) }

In plaats van een movieclip direct te kunnen aanspreken moet je de functie telltarget gebruiken om te weten in welke movieclip er verplaatst moet worden over een frame.

Daarnaast hier een overzicht van alle 'keypress' functies:

Deze twee grote verschillen zijn geen grote sprong voorwaarts, maanr eerder achterwaards. De eerste actionscript schreef je op deze wijze. In ongeveer 1999 deze schrijfwijze gangbaar. Ondertussen is actionscript door ontwikkeld en is het eruit gaan zien zoals het er nu uit ziet. Maar goed het is al bijna niet meer nodig om dit te vertellen. Zeer binnenkort is deze stap terug in de tijd weer door de werkelijkheid ingehaald.

Veel meer over deze code uitleg is ook te vinden op de site van adobe zelf:
http://www.adobe.com/devnet/devices/articles/as_flashlite_03.html

Opdracht

Maak een fotogalary voor op een mobiele telefoon. Zorg dat je een foto kan kiezen uit een serie van minimaal 9 foto's. Denk na over de wijze waarop je zichtbaar maakt welke foto er geselecteerd is. Deze foto kan je selecteren en krijg je alleen te zien. In dit scherm kan je een tekstje schrijven bij de foto. Dit kan je vervolgens versturen via MMS door op de verstuurknop te klikken. Dit laatste mag je van mij faken.

Uitbreiding 1: Deze twee kan je samen versturen naar een emailadres met MMS. Het versturen kan met de gegevens uit de _cap functies van flashLite. Deze zijn te vinden onder de catagory capebilities.

Uitbreiding 2: Zorg dat je de foto's uit de library van je telefoon haalt. Dit zijn de foto's die worden weer gegeven in je applicatietje. Dit gaat alleen met versie 2.0. Dus het is dan verstandig deze te downloaden en hiermee aan de slag te gaan.

Alternatief: Verzin zelf een applcatie, game of iets anders dat je graag voor een mobiele telefoon zou willen maken. Overleg met mij of ik er mee akkoord ga. Na een akkoord kan je aan de slag.

 

Links

meer over Flash-Lite 2.1
http://www.adobe.com/products/flashlite/

Flash 8 update naar Flash-Lite 2.1
https://store2.adobe.com/support/flash/downloads.html#flash8

Actionscript voor Flash-Lite 2.1, een uitleg:
http://www.adobe.com/devnet/devices/articles/as_flashlite_03.html

Auteur: Barend Hendriks
Seizoen: Herfst
Lesnummer: 08
Datum: 30-10-2006
Type les: MME