Avatar billede snigeren Nybegynder
09. september 2003 - 12:22 Der er 27 kommentarer og
1 løsning

trigger en function

Hej

Følgende scripts er en del af en movie control component. Disse scripts ligger på 1. frame af timelinen for et mc der hedder "control".

kan jeg på en eller anden måde trigger "cPlay" funktionen et skridt tilbage i path´en? altså udenfor mc´et control.

this.setClipState = function(obj){
    if(pCurbut == obj) return;
    obj.gotoAndStop("On");
    pCurbut.gotoAndStop("Off");
    pCurbut = obj;
}

this.cPlay.onRelease = function(){
    setClipState(this);
    this._parent.Play();
}

/Snig
Avatar billede jakwag Nybegynder
09. september 2003 - 12:26 #1
this.setClipState = function(obj){
    if(pCurbut == obj) return;
    obj.gotoAndStop("On");
    pCurbut.gotoAndStop("Off");
    pCurbut = obj;
}
this.func = function()(){
    setClipState(this);
    this._parent.Play();
}

this.cPlay.onRelease = function(){
    this.func();
}


og i dit mc:

this._parent.func();


Var det sådan du mente?

: ) Jakob
Avatar billede jakwag Nybegynder
09. september 2003 - 12:27 #2
Dette er selvfølgelig en fejl: this.func = function()(){

det skal være this.func = function(){

: )
Avatar billede jakwag Nybegynder
09. september 2003 - 12:28 #3
Gad vide om man kan skrive:

this.cPlay.onRelease = this.func = function(){
    setClipState(this);
    this._parent.Play();
}

Jeg ved det ikke, men det ville da være nemmere.
Avatar billede snigeren Nybegynder
09. september 2003 - 12:35 #4
det jeg gerne vil er bare at kunne trigger nedenstående code fra et andet sted i min hoved movie:

this.cPlay.onRelease = function(){
    setClipState(this);
    this._parent.Play();
}

det burde vel ikke være nødvendigt at ændre denne code? dvs _parent til mc´et control. Der ville jeg gerne kunne skrive en code der går ind i control mc´et og trykker play hvis du forstår hvad jeg mener =)

/Snig
Avatar billede jakwag Nybegynder
09. september 2003 - 13:07 #5
Denne function bliver trigget af onRelease:

this.cPlay.onRelease = function(){
    setClipState(this);
    this._parent.Play();
}

Du ønsker at kunne trigge den ved at kalde den med et ord. f.eks. func().

Derfor bliver du nød til at lave den lidt om:

this.cPlay.onRelease = func = function(){
    setClipState(this);
    this._parent.Play();
}

Nu bliver den trigget hvis der er nogen der trygger på cplay eller hvis der et sted i scriptet står:

func();

Da du skal kalde den oppe fra "control" clippet, skal du skrive:

this._parent.func();
Avatar billede jakwag Nybegynder
09. september 2003 - 13:08 #6
Du kan selvfølgelig kalde den hvad du har lyst. Ikke nødvendigvis func...
Avatar billede jakwag Nybegynder
09. september 2003 - 13:09 #7
hov sorry, det skal nok være:

this.cPlay.onRelease = this.func = function(){
    setClipState(this);
    this._parent.Play();
}
Avatar billede snigeren Nybegynder
09. september 2003 - 13:36 #8
hmm jeg kan ikke rigtig lige få det pjat til at virke,.. jeg har lige uploadet et par filer som kan se på hvis du har lyst =)

http://www.triodimenzionale.dk/tmor/tmor.fla
http://www.triodimenzionale.dk/tmor/tmor.swf
http://www.triodimenzionale.dk/tmor/tmor2.swf  (udgave med dit script slået til, jeg ved faktisk ikke hvad den gør der men det er ihvertfald ikke rigtigt,.. sikkert bare mig der gør noget forkert =)

den der er uploadet er det kun "situation" og "koncept" der virker.

det der er problemet,... er at når man åbner denne lille side skal den automatisk gå igang med at afspille filmen og når man trykker på knappen til en ny film skal den nye gå igang med at spille med det samme.

Det i sig selv er jo ikke noget problem så kan jeg jo bare fjerne min stop(); kommando i starten af filmene,.. problemet er her at film control componenten så ikke lyser i play knappen osv. hvilket jo suger en anelse.

Men hvis du kunne hjælpe med at få det til at virker kunne det være helt i top =)

/Snig
Avatar billede jakwag Nybegynder
09. september 2003 - 13:43 #9
Hvad er det du gerne vil have? Man trykker på f.eks. på koncept og så starter filmen...
Avatar billede jakwag Nybegynder
09. september 2003 - 13:49 #10
nååå.... det kunne være at jeg lige skulle læse hvad det egentlig er du skriver... to sek...
Avatar billede jakwag Nybegynder
09. september 2003 - 13:53 #11
Løsnigen er:

on(release){
    menu_mc.gotoAndStop(2);
    loadMovie("mov/mov02.swf", movie_mc);
    control.cPlay.gotoAndPlay("On");
}
Avatar billede jakwag Nybegynder
09. september 2003 - 13:54 #12
nej hov! Sådan:

on(release){
    menu_mc.gotoAndStop(2);
    loadMovie("mov/mov02.swf", movie_mc);
    control.cPlay.gotoAndStop("On");
}

: ) Og så køre det vist!
Avatar billede snigeren Nybegynder
09. september 2003 - 14:06 #13
ye det var jo én løsning =)

kan det lade sig gøre at trigger den cPlay function du prøvede på at hjælpe med før ?

Jeg har nemlig før haft brug for at kunne trigger denne type functions. =8)
Avatar billede jakwag Nybegynder
09. september 2003 - 14:10 #14
Hvis den skal trigge functionen bliver du nød til at lave functionen som jeg før sagde:

this.cPlay.onRelease = this.func = function(){
    setClipState(this);
    this._parent.Play();
}

Nu hvor jeg har set din film skal stien så være:

on(release){
    menu_mc.gotoAndStop(2);
    loadMovie("mov/mov02.swf", movie_mc);
    control.func();
}
Avatar billede jakwag Nybegynder
09. september 2003 - 14:11 #15
Det ville selvfølgelig osse være en løsning.
Avatar billede snigeren Nybegynder
09. september 2003 - 14:17 #16
hmm der gør den ligesom du kan se på:

http://www.triodimenzionale.dk/tmor/tmor2.swf

den blinker bare og går tilbage til "situation".
Avatar billede jakwag Nybegynder
09. september 2003 - 14:26 #17
ja, og det er jo ik' så fedt : ) det er pga. den måde at komponentet er lavet på. Så det kan du ikke medmindre du laver alvorlige ændringer på det.
Avatar billede snigeren Nybegynder
09. september 2003 - 14:45 #18
mkay,.. nedern.. så må jeg jo _nøjes_ med at bruge din anden løsning :P

stik mig lige et svar så kan du lige få et par point :)
Avatar billede jakwag Nybegynder
09. september 2003 - 14:48 #19
ja, trist. Men sådan er det tit når man bruger komponenter. Man risikere at løbe panden mod en mur. Og så havde det måske været nemmere at lave det selv end at lave om i komponentet.
Avatar billede snigeren Nybegynder
09. september 2003 - 14:51 #20
ye det kan der være noget om... men jeg takker ihvertfald for den lille chat =)
Avatar billede barklund Nybegynder
09. september 2003 - 14:53 #21
Du kan sagtens selv kalde en onRelease:

Du kalder vel bare:

control.cPlay.onRelease();
Avatar billede jakwag Nybegynder
09. september 2003 - 14:53 #22
velbekomme og tak for point  : )
Avatar billede jakwag Nybegynder
09. september 2003 - 14:59 #23
barklund > når ja... Men det havde nu aligevel ikke løst problemmet her. : )
Avatar billede barklund Nybegynder
09. september 2003 - 15:11 #24
Komponenten har jo en metode til at lave loadMovie? Jeg er ret sikker på, at den også sætter rigtig playstate:

control.Load("mov/mov02.swf");
Avatar billede snigeren Nybegynder
09. september 2003 - 15:29 #25
det var jo da en fin måde at gøre det på,.. en hel linie mindre end før og det virker ligedan =)

fedt nok takker til dig oxo barklund
Avatar billede snigeren Nybegynder
09. september 2003 - 17:06 #26
øhmm et dumt spørgsmål...

skulle man ikke bare kunne smide den her i en frame?

control.Load("mov/mov02.swf");

eller skal der noget foran? Den første del skulle nemlig gerne gå igang ad sig selv. lige nu bruger jeg:

loadMovie("mov/mov01.swf", movie_mc);
control.cPlay.gotoAndStop("On");

men på den måde går progress baren ikke igang så filmen afspiller og playknappen lyser.
Avatar billede snigeren Nybegynder
10. september 2003 - 09:58 #27
har i ikke en løsning på hvordan jeg uden at trykke på nogen knapper kan få progress baren til at starte?

Det er når man loader siden med filmen på, skulle den gerne gå igang af sig selv. Lige nu starter filmen selv men progress baren starter ikke,... hvilket vil sige at movie controleren ikke har fået at vide at filmen spiller,.. =(
Avatar billede snigeren Nybegynder
10. september 2003 - 10:16 #28
hmm underligt, hvis jeg bare bruger _filepath virker det fint,.. det syntes jeg bare jeg havde prøvet,.. oh well,.. nu er det her spg. helt afsluttet =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester