action script utfordring

action script utfordring

Innleggav srb » ons 05.11.2008 17:20

Kan noen se om dette scriptet har feil i seg? Punktum, komma etc på feil plass eller mangler eller... får det ikke til å virke! Det er til en nav bar.

Kode: Merk alt
vartimer:Timer = newTimer(25);
timer.addEventListener(TimerEvent.TIMER, folowF);
timer.start();

function followF(e:Event):void{
   stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseF);
}

function mouseF(e:MouseEvent):void{
   master_mc.handtak_mc.X = stage.mouseX-63;
   addEventListener(MouseEvent.MOUSE_MOVE, updateF);
   if(mouseX<=63){
      master_mc.håndtak_mc.x = 0;
   }else if(mouseX >=400){
      master_mc.handtak_mc.x = 400;
   }
}
function updateF(e:MouseEvent):void{
   e:updateAfterEvent();
   
   
master_mc.addEventListener(MouseEvent.MOUSE_DOWN,glowStickF);
function glowStickF(e:MouseEvent):void{
   master_mc.handtak_mc.x = e.target.x;
   

master_mc.home_btn.addEventListener(MouseEvent.CLICK, homeF);
function homeF(e:MouseEvent):void{
   var homeLink: URLRequest = new URLRequest("http://sol.no");
   navigateToURL(homelink,"_blank");
}
medlem i 193 måneder
 

Re: action script utfordring

Innleggav decodex » ons 05.11.2008 18:49

Opptil flere skrivefeil/syntaksfeil i koden du oppga i alle fall. En kjapp gjennomgang gir:

1. Mangler mellomrom etter nøkkelordet var ved deklarasjon av timer-variabel
2. Mangler mellomrom etter nøkkelordet new ved opprettelse av Timer-objekt
3. Referanse til funksjon «folowF» som ikke eksisterer ved lytter-tilknytning på timer
4. Manglende avslutning av to funksjoner (updateF og glowStickF), med muligens uønsket nøsting av funksjoner

I tillegg synes jeg det er unødvendig å avslutte alle funksjonsnavn med «F» :)

Brukerens avatar
medlem i 217 måneder
 

Re: action script utfordring

Innleggav srb » tor 06.11.2008 0:04

takk for svar.

De to første elementene du pekte på skulle ikke være der i det hele tatt. De hadde jeg luket ut tidligere, men det hadde sneket seg inn igjen.
Det neste derimot, hva menes med "lytter" funksjonen?

Og hva er det konkret som mangler i avslutningen?
medlem i 193 måneder
 

Re: action script utfordring

Innleggav decodex » tor 06.11.2008 5:28

«Listener» er «lytter» på norsk. På linje 2 kaller du «addEventListener» for Timer-objektet og forsøker sette funksjonen «folowF» som lytter til TIMER-hendelsen. Det skal vel være «followF» som er en funksjon du har definert.

Det jeg egentlig mente med punkt 4 var at kodeblokkene for to funksjoner ikke var avsluttet. En kodeblokk er kommandoer inni {}, og du mangler dermed } for kodeblokkene til to funksjoner (updateF og glowStickF). Jeg anbefaler også at glowStickF og homeF ikke nøstes innenfor updateF - ingen vits å skape unødvendige «closures».

Brukerens avatar
medlem i 217 måneder
 

Re: action script utfordring

Innleggav srb » tor 06.11.2008 12:14

Her er en nyere verson... får det ikke til å virke.
Jeg får en syntax error meld: 1084: Syntax error: expecting rightbrace before end of program.
medlem i 193 måneder
 

Re: action script utfordring

Innleggav decodex » tor 06.11.2008 14:08

Tror du glemte koden for den nye versjonen ;)

«rightbrace» er }, som jeg nevnte du manglet to av i opprinnelig versjon av koden også.

Brukerens avatar
medlem i 217 måneder
 

Re: action script utfordring

Innleggav srb » tor 06.11.2008 14:49

hahaahahhhh ufff!
Vel her er den:
Kode: Merk alt
var timer:Timer = new Timer(25);
timer.addEventListener(TimerEvent.TIMER, followF);
timer.start();

function followF(e:Event):void{
   stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseF);
}

function mouseF(e:MouseEvent):void{
   master_mc.glowSlider_mc.x = stage.mouseX-63;
   addEventListener(MouseEvent.MOUSE_MOVE, updateF);
   
   if(mouseX<=63){
      master_mc.glowSlider_mc.x = 0;
   }else if(mouseX >=400){
      master_mc.glowSlider_mc.x = 400;
   }
}

function updateF(e:MouseEvent):void{
   e:updateAfterEvent();
}
   
   
master_mc.addEventListener(MouseEvent.MOUSE_DOWN, glowStickF);
function glowStickF(e:MouseEvent):void{
   master_mc.glowSlider_mc.x = e.target.x;
   }
   

master_mc.start_btn.addEventListener(MouseEvent.CLICK, startF);
function startF(e:MouseEvent):void{
   var startLink: URLRequest = new URLRequest("http://sol.no");
   navigateToURL(startLink,"_blank");
}
medlem i 193 måneder
 

Re: action script utfordring

Innleggav decodex » tor 06.11.2008 15:00

Ser ikke ut som du mangler } nå, men på linje 33 har du et mellomrom som ikke skal være der: var startLink: URLRequest => var startLink:URLRequest

Brukerens avatar
medlem i 217 måneder
 

Re: action script utfordring

Innleggav srb » tor 06.11.2008 15:08

hmmmm.... det hjalp ikke ser det ut som.
Får denne feilmeldingen:
1180: Call to a possibly undefined method updateAfterEvent.


Skal se slik ut og slideren i bunnen skal følge musens bevegelser.

Her er også det som ligger i lib.
Bilde
Bilde
medlem i 193 måneder
 

Re: action script utfordring

Innleggav decodex » tor 06.11.2008 15:14

Feilmeldingen er fordi du har skrevet «e:updateAfterEvent()» i stedet for «e.updateAfterEvent()» - altså kolon skal erstattes med punktum.

Brukerens avatar
medlem i 217 måneder
 

Re: action script utfordring

Innleggav srb » tor 06.11.2008 15:25

TUSEN TAKK:)
Fungerer nå.
medlem i 193 måneder
 


Returner til Flash / Silverlight



Hvem er i Forumene

Registrerte brukere: Ingen registrerte brukere