Verktøy
Søk
Logg inn

Frontal Technologies

Du er her: Hjem » Ressurser » Nyttige Flash Actionscript

Nyttige Flash Actionscript

ActionScript logo ActionScript logo Adobe Systems 20©11

Nedenfor finner du flere Flash ActionScript for å utføre forskjellige oppgaver. Her har du blant annet printfunksjon, drag and drop, ekstern image loader, mulighet for å pause tidslinjen, laste inn eksterne filer og mye mer. Eksemplene er i Flash ActionScript 2.

Print-funksjon i Flash
Koden for å printe ut innholdet i en movie clip i flash. Koden legges i første keyframe. Husk også å ha et clip ved navn "container" med innholdet du vil skrive ut (tekst/bilde) i biblioteket som du haker av for "export for action script" i properties. Lag så en knapp med instance name "knapp" som du legger på tidslinjen.
For mer informasjon, les en fullstendig beskrivelse hos Adobe.

 

_root.knapp.onRelease = function() { 
 //starter funksjonen 
_root.attachMovie("container", "container", 0); 
//laster inn movie clip fra library med navn "container". Gir så nytt navn og angir dybde/synlighet print
(_root.container, "bframe"); 
//printfunksjonen for objektet/instance name som skal skrives ut, og hvordan innholdet i keyframe skal skaleres 
_root.container.unloadMovie(); 
 //fjerner clip fra library fra hovedtidslinjen };

 

Laste inn ekstern SWF i movie clip
Sett inn følgende action i din keyframe i hovedtidslinjen når du vil at den eksterne filen skal lastes (husk instance name for din movie clip-plassholder):

 

mittnavn.loadMovie("minfilm.swf");

 

Lage et videobanner
Se mer om nødvendig AS-kode og last ned eksempelfiler på hjemmesiden til Adobe.

 

Lightbox fra Flash
Hvordan du aktiviserer en lightbox fra en flashfil - lett forklart.


Scrolling content

Lag innhold i Flash med scrollbar. Praktisk for tekstbokser o.l. Les mer om skinning av denne komponenten hos Adobe.

 

Deeplinking i Flash
Sørg for at det går an å lagre bokmerker i din flashfilm på nett - og at Google klarer å indeksere linkene i din SWF.
http://www.asual.com/swfaddress/

 

Laste inn eksternt stilark (CSS) i Flash
Sett inn følgende action i første keyframe på ditt flashdokument (endre banen til stilarket etter behov) og lag så en dynamisk tekstboks som heter "tekstboks". NB: husk å fjerne første linje (@charset "UTF-8";) hvis Dreamweaver genererer stilarket for deg, ellers vil Flash ikke lese det:

 

//for aktivisering av stilarket
stilarkStyle = new TextField.StyleSheet();
stilarkStyle.load("mittstilark.css");
 tekstboks.styleSheet = stilarkStyle;  

//for aktivisering av tekstfeltet med egenskaper
tekstboks.html = true;
tekstboks.wordWrap = true;
tekstboks.multiline = true;
tekstboks.selectable = false;
tekstboks.label.condenseWhite=true; 

 

Laste inn eksternt ActionScript-dokument
Husk å lagre dokumentet som inneholder ditt ActionScript i formatet "mittdokument.as". Legg så følgende kode i første keyframe på ditt flashdokument (endre banen etter behov):

 

#include "mittactionscript.as"

 

Constrained Drag and Drop
For å flytte et objekt i en movie clip innenfor et avgrenset område (koordinater). Lag en movieclip som inneholder grafikken som du ønsker å flytte rundt på skjermen. Husk å gi ditt movie clip et instance name (i dette tilfellet "SmileyFace"). Legg så til følgende script i keyframe 1 i din hovedtidslinje:

 

smileyFace.onPress = function():Void {
 this.startDrag(false, 50, 50, 300, 150);
};
smileyFace.onRelease = function():Void {
this.stopDrag();
 };

 

Image loader
Lag et tomt movie clip som plassholder med et instance name (f.eks. "holder"). Legg så følgende actionscript i en keyframe i hovedtidslinjen:

 

var photo:MovieClipLoader = new MovieClipLoader();
 photo.loadClip("mittbilde.jpg", holder); 
var listener:Object = new Object();
listener.onLoadInit = function():Void {
holder._xscale = 45;
holder._yscale = 45;
}
 photo.addListener(listener);

Pause tidslinjen
Praktisk for effekter i film el.l. Se nedenstående kode:

 

//koden legges inn i første keyframe på ditt flashdokument
 function pauseTimeline(howLong:Number):Void { // 2. typen funksjon - det første parameteret
stop();
var id:Number = setInterval( // 1. denne funksjonen setter igang det første parameteret - kontinuerlig
function():Void {
play();
clearInterval(id); // 4. forteller "stoppeklokken" å slutte å kjøre setInterval (1) etter én gang
},
howLong // 3. det andre parameteret definerer hvor lenge det skal ventes i milisekunder
);
 };

//denne koden legges i den keyframen hvor du vil at avspilleren skal stoppe 
 pauseTimeline(2000); //angi tiden tidslinjen skal stoppe for i milisekunder 

 

Fjerne høyremeny
Sett inn denne koden i første keyframe i flashdokumentet ditt:

 

//lage en ny høyreklikkmeny som heter "rightClick"
var rightClick:ContextMenu = new ContextMenu();
 
//skjule de innebygde valgene i høyreklikkmenyen
rightClick.hideBuiltInItems();

//gjøre de nødvendige endringene på høyreklikkmenyen
 _root.menu = rightClick;

 

Lage en egen høyreklikkmeny i Flash
Sett inn denne koden i første keyframe i flashfilen (tilpass etter behov):

 

//denne funksjonen gjør ingenting
function deadClick () {
}
//linken som du vil ha i din kontekstmeny
function gotoMySite () {
 getURL("http://www.frontal.no", "_blank");
}
//her erstattes standard kontekstmeny med din egen
var myMenu:ContextMenu = new ContextMenu();
//her skjules standard kontekstmeny
myMenu.hideBuiltInItems();
//selve innholdet i kontekstmenyen
 var copyrightNotice:ContextMenuItem = new ContextMenuItem("20©11 Frontal", deadClick);
 var mySiteLink:ContextMenuItem = new ContextMenuItem("Frontal", gotoMySite);
var myNotice:ContextMenuItem = new ContextMenuItem("Have gun. Will travel.", deadClick);
//setter inn en skillelinje mellom objekter
mySiteLink.separatorBefore = true;
//fjerner klikkbarhet i objekter og "gråer" de ut
copyrightNotice.enabled = false;
myNotice.enabled = false;
//rekkefølgen som objektene i kontekstmenyen skal ha
myMenu.customItems.push(copyrightNotice, mySiteLink, myNotice);
 _root.menu = myMenu;

 

Enkel getURL og goto
For åpning av eksterne sider og filer samt enkel animasjon:

 

//denne kommandoen åpner en ekstern webside i et nytt vindu - koden bør legges direkte på en knapp el.l.
on (release) {
 getURL("http://www.vg.no", "_blank");
 }

//denne funksjonen lar deg hoppe direkte til en framelabel - her trenger du et symbol med instance-name "knapp" 
_root.knapp.onRelease = function () {
 _level0.gotoAndStop("off");
 }

 

Legg fullskjerm-kommando på knapp el. klipp
Her henviser koden til en movieclip med navnet "knapp" som inneholder to keyframes - en med "av"- og en med "på"-symbol:

 

_root.knapp.onRelease = function () {
 if (_root.knapp._currentFrame == 1) {
 _root.knapp.gotoAndStop(2);
 } else {
 _root.knapp.gotoAndStop(1);
 }
 if(Stage["displayState"]=="normal") {
 Stage["displayState"]="fullScreen";
 } else {
 Stage["displayState"]="normal";
 }
}

 

Lage tilfeldig fallende snø i Flash
Koden under legges direkte PÅ en movieclip (høyreklikk på MC):

 

onClipEvent (load) {
 //spesifiserer størrelsen til flashfilen (stage)
 movieWidth = 300;
 movieHeight = 200;
 
 //variabler som modifiserer den fallende snøen
 i = 1+Math.random()*2;
 k = -Math.PI+Math.random()*Math.PI;
 
 //hvert snøflak får en unik karakteristikk
 this._xscale = this._yscale=50+Math.random()*100;
 this._alpha = 75+Math.random()*100;
 this._x = -10+Math.random()*movieWidth;
 this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
 //alt settes sammen
 rad += (k/180)*Math.PI;
 this._x -= Math.cos(rad);
 this._y += i;
 if (this._y>=movieHeight) {
 this._y = -5;
 }
 if ((this._x>=movieWidth) || (this._x<=0)) {
 this._x = -10+Math.random()*movieWidth;
 this._y = -5;
 }
}


//koden under legges i første keyframe på din film
for (k=0; k<50; k++) { // antall snøflak
 duplicateMovieClip(this.snow, "snow"+k, k);
 }

 

Sende tekst til tekstboks ved klikk på knapp
Nedenstående kode legges i en keyframe. Husk å lage en knapp med instance-name "btn" og et input-tekstfelt med instance-name "inputanswer":

 

var pos_num:Number = 0;
btn.onPress = function() {
   var i:Number = pos_num;
   var str:String = inputanswer.text;
   inputanswer.text = str.substring(0, i)+"Dette er en test"+str.substring(i, str.length);
};
inputanswer.onChanged = getCaretPos;
var keyListener:Object = new Object();
keyListener.onKeyUp = getCaretPos;
Key.addListener(keyListener);
var mouseListener:Object = new Object();
mouseListener.onMouseUp = getCaretPos;
Mouse.addListener(mouseListener);
function getCaretPos() {
   if (Selection.getFocus() == null) {
       Selection.setFocus("inputanswer");
       Selection.setSelection(pos_num+1, pos_num+1);
   }
   pos_num = Selection.getCaretIndex();
} 
 }

Sist endret tirsdag 08. februar 2011 15:56
Lars Geithe

Lars Geithe

Lars Geithe utvikler websider og online applikasjoner. I tillegg underviser han i Motion Design på NKF i Trondheim.

Nettsted: www.frontal.no E-post: Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se adressen

Relaterte sider (etter merke)

Mer i denne kategorien « Hvordan lages ...

Skrivkommentar

Felt merket med (*) må fylles ut.

Frontal
Ressurser

Hvis du savner noe på ressurssidene, så send oss en beskjed og vi skal prøve å få det med. Ta kontakt enten via on.latnorf@tsop eller vårt kontaktskjema.

  • Frontal Media

    Wordpress shortcodes. A complete guide: http://t.co/Vm1Ps77O

    lørdag 12. mai 2012 20:55

  • Frontal Media

    Frontal Media og Form til Fjells har utviklet ny hjemmeside for Rørosregionen Næringshage: http://t.co/oS2RB02v

    fredag 11. mai 2012 14:01

  • Frontal Media

    Facebook skal starte App Center: http://t.co/PaInEXdp

    torsdag 10. mai 2012 08:20

  • Frontal Media

    RT @RWW: The World is Not Quite Ready for Mobile Payments, According to MasterCard http://t.co/RGYlgRya

    onsdag 09. mai 2012 11:51

  • Frontal Media

    Principles of user interface design: http://t.co/DIJaDcVl

    tirsdag 08. mai 2012 09:20

  • Frontal Media

    13 ting du ikke visste du kunne gjøre på LinkedIn: http://t.co/zzjm3Tyi

    tirsdag 08. mai 2012 09:16

  • Frontal Media

    Eliminer all produktivitet: Angry Birds på Facebooks tidslinje - http://t.co/e6DM9yGp

    søndag 06. mai 2012 12:14

  • Frontal Media

    Alt er klart til kveldens konsert med Bertine Zetlitz i Storstuggu på Røros. Dørene åpner kl 21.

    lørdag 05. mai 2012 20:03

  • Frontal Media

    RT @1stwebdesigner: The Samsung Galaxy S III: The First Smartphone Designed Entirely By Lawyers http://t.co/zpZHSrvn

    lørdag 05. mai 2012 19:58

  • Frontal Media

    Hvordan sette sammen sin egen hadron collider: http://t.co/KKsVKoKn

    fredag 04. mai 2012 07:20