Interaktionsudvikling, Multimediedesigneruddannelsen, Erhvervsakademi Århus

Interaktionskonstruktion

1. semester - Foraar 2010- flash og actionscript

Plan for dag 1

 

 

Problemer med at downloade Flash filer.

*Hvis der er problemer med at downloade Flash filerne (fla) fordi f.eks. en flash fil bliver forvekslet med en word fil, kan man forsøge at højre klikke på linket, og så vælge 'gem link som'.I dialog boksen skal man så vælge filtype til 'alle filer' og filenavnet skal afsluttes med .fla som vist på billedet nedenfor.

img

Når du klikker på denne fil, skulle den gerne åbne op i Flash Cs4.

 


Programmeringselementerne: Variable, if/else, text output (Se Lesson 1)

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flash fil med kommentar

Variabel defintion (Lesson 1 frame 1)

 

var count:Number = 1;

 

 

 

Definition af en variabel ved navn count

Husk: variable navne må ikke indeholde mellemrum og starter gerne med et lille bogstave.

Variablen count kan indeholde et tal dvs. datatypen Number.

count får som start tildelt værdien 1.

 

Variable som skal indeholde en tekst skal defineres med datatypen String.

En tekststreng angives indenfor to anførelsestegn " "

 

var alder:Number = 30;

var alder paa min bil:Number = 10; // forkert !

var alderPaaMinBil: Number = 10;

 

var navn:String = "Hans";

var computerNavn:String = "EliteBook 8730w";

 

 

Output at en variables værdi (Lesson 1 frame 2)

Værdien som en variabel indeholder kendes af computerprogrammet, men for at vi og brugerne kan se denne værdi, skal den enten udskrives via trace( ) kommandoen eller via et tekstfelt på stagen.

 

 

trace(count); // output til udvikleren

 

// værdien af variablen count skrives ud til brugern i et tekstfeltet med instansnavnet info_txt

info_txt.text = String(count);

// funktionen String() convertere værdien af count til en tekststreng som kan skrives ud

 

If / else betingelse

Via en if/else betingelse kan programmet styre hvorlænge en sekvens skal gentage sig. En if/else betingelse kaldes derfor også for en kontrolstruktur.

 

// Manden laver englehop indtil count variablen har værdien 5

if (count>4) {
gotoAndStop("home");
} else {
gotoAndPlay("loop");
}

count++; //Her ligges der 1 til værdien af count variablen.

 

Tildeling af ny værdi til en variable (Lesson 2 Frame 2)

En variable kan kun indholde den senest tildelte værdi.

language="German"; // trace(language) vil skrive German

language="Spanish"; // trace(language) vil skrive Spanish

I Lesson 2 kan brugerne via en knap vælge hvad variablen language skal indeholde.

 

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flashfil med kommentar

 

 


Animation via Actionscript : Enterframe loops, Transitions (tween, easing) (Lesson 3)

 

Animation with Actionscript

 

stage.addEventListener(Event.ENTER_FRAME,onFrameLoop);

function onFrameLoop(evt:Event):void {
 
 racer1_mc.x += 1;
 racer2_mc.x += 2;

  
}

 

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flash filen

Et lidt mere interessant løb med tilfældige hastigheder kan laves via random( ) funktionen.

I Lesson 3 får man stjernen star_mc til at bevæge sig over himlen via en Enterframe loop. Læg også mærke til at stjerne går

ud til højre og kommer ind igen fra venstre. Hvordan kan man programmere det?

 

Transitions = overgang fra en tilstand (property værdi) til en anden tilstand (property værdi).

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flash fil

I denne version af lesson 3, kan brugerne ændre på instrumenternes properties (scaleX, scaleY, rotation..) gradvist via knapperne i menuen.

 

I den næste version (end version i lesson 3) har man anvendt ActionScripts Tween og Easing klasse til at gøre ændringen mere interessant.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flash fil med kommentar

Dette gøres ved først at importeres Tween og Easing pakken til Actionscript via kommandoerne.

import fl.transitions.Tween;
import fl.transitions.easing.*;

Rotationen kan så ske via følgende funktion hvor Tween klassen bruges

function rotate(e:MouseEvent):void {

var spin:Tween=new Tween(instrument,"rotation",Elastic.easeOut,0,360,5,true);

}

Højre klikker man på Tween i actionscript og vælger view help, kan man læse mere om, hvordan Tween klassen indstilles.

Bl.a. står der at Tween tager følgende parametre.

Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean = false)

Heraf kan man se at ovenstående rotate function vil:


 


Andre former for interaktion: Drag and drop, keypress, follow mouse

 

Disse interaktionsformer anvendes ofte i forbindelse med spilelementer i Flash.

 

Drag and drop interaction

 

myMovieClip.addEventListener(MouseEvent.MOUSE_DOWN, onStartDrag);
myMovieClip.addEventListener(MouseEvent.MOUSE_UP, onStopDrag);

function onStartDrag(event:MouseEvent):void {
    event.target.startDrag();  // event.target  referes to the movieclip that gives the //MouseEvent
}
function onStopDrag(event:MouseEvent):void {
    event.target.stopDrag();  
}

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Flash fil

Keypress event

 

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);

function onKeyPressed(event:KeyboardEvent) {
    if ( event.keyCode== Keyboard.LEFT) {
        box_mc.x -= 5;
    }
    if ( event.keyCode== Keyboard.RIGHT) {
        box_mc.x += 5;
    }
}

Flash fil

Connect a movieclip to the cursor

 

stage.addEventListener(Event.ENTER_FRAME,onFrameLoop);

function onFrameLoop(evt:Event):void {
    box_mc.x = mouseX; 
    box_mc.y = mouseY;
}

Flash fil


 

Opgaver:

 

Lav Lesson 1,2,3 hvis du ikke har fået dem lavet.

 

Eller gå i gang med at lave en lille interaktiv produktion eller et lille spil, hvor du bruger nogle af ovenstående eksempler

 

 

F.ex 1.  Lav et kryds og bolle spil, hvor du via 'drag and drop' kan flytte rundt på x1,x2,x3 og o1,o2,o3  . 

Hint: lav et kryds symbol som du laver 3 instancer af, med henholdsvis instansnavnene x1, x2 og x3.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

F.Ex 2. Prøv at lave en bil som du kan styre  frem og tilbage samt op og ned   på stagen  via   keypress.  (  hint: keypress event:    Keyboard.UP   og Keyboard.DOWN  )

 

F. Ex 3. Lav en alternativ cursor  dvs.  hvor en movieclip følger musens koordinater.  (hint: followMouse.fla )

 

I må gerne oploade jeres løsninger til dit portfolio inden næste undervisningsgang.