08. oktober 2003 - 14:24
Der er
28 kommentarer og 1 løsning
en lille player
Jeg skal have lavet en lille player der har skal afspille en række animationer der bliver loadet fra eksterne .swf'er som er numerisk navngivet. Animationerne skal afspilles i den samme rækkefølge, men starte et tilfældigt sted i rækkefølgen. Hvordan gøres det? Jeg kan godt gøre det sådan, at jeg i slutningen af hver animation loader den næste, men det skal ikke gøres såden. Det skal laves sådan, at animationerne ikke skal editeres, men at man blot skal ændre filnavnet, hvis man skal have ændret rækkefølgen? Mit problem er at få playeren til at vide, hvornår en animation er færdig... Håber en eller anden kan hjælpe mig på vej...
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
08. oktober 2003 - 14:33
#1
du kan nemt se om animationene er færdig hvis det er en timeline animation. hvis du loader i en target: target_mc.onEnterFrame = function(){ if(this._currentframe = this.totalframes){ this.loadMovie("next.swf"); } } f.eks. det samme kan gøres med level. Har du osse problemer med at få valgt en tilfældig film?
08. oktober 2003 - 14:34
#2
der skal naturligvis være == ikke =
08. oktober 2003 - 14:44
#3
Tak jeg kigger lige på det!
08. oktober 2003 - 14:47
#4
du kan nok ikke bruge det direkte. Det skal ind i dit script på en eller anden måde...
08. oktober 2003 - 14:49
#5
klart
08. oktober 2003 - 14:51
#6
loadMovie sletter ii øvrigt alle de methods du har lavet på den movie du loader den ind i. så du skal nok lægge onEnterFramen et andet sted end på target.
08. oktober 2003 - 15:33
#7
PIS!! De kald jeg laver i de movies der bliver loadet virker heller ikke... Det må vel være fordi jeg bruger _root og ikke this ?
08. oktober 2003 - 15:40
#8
det er det sikkert.
08. oktober 2003 - 16:13
#9
Den loader den første tilfældigt, og jeg har fået ændre alt _root til this, men det virker ikke helt... Jeg har en frame, med følgende script: var first; first=random(3); first++; trace(first); loadmovie(first+".swf","holder"); holder.onEnterFrame = function(){ if(holder._currentframe == holder.totalframes){ trace("slut"); holder.loadMovie("2.swf"); } } Den når aldirg at trace slut...
08. oktober 2003 - 16:16
#10
holder.loadMovie("2.swf"); denne linie skal selvfølgelig laves så det bliver den næste i rækkefølgen...
08. oktober 2003 - 16:16
#11
var first; first=random(3); first++; trace(first); loadmovie(first+".swf","holder"); this.onEnterFrame = function(){ if(holder._currentframe == holder.totalframes){ trace("slut"); holder.loadMovie("2.swf"); } } prøv det. hvis du ikke i forvejen har en onEnterFrame på this.
08. oktober 2003 - 16:17
#12
selvfølig. men du skal osse flytte din onEnterFrame, det er derfor at den aldrig kommer til trace
08. oktober 2003 - 16:18
#13
den kommer heller ikke til slut nu...
08. oktober 2003 - 16:29
#14
prøv: var first; first=random(3); first++; trace(first); loadmovie(first+".swf","holder"); this.onEnterFrame = function(){ trace(holder._currentframe) if(holder._currentframe == holder.totalframes){ trace("slut"); holder.loadMovie("2.swf"); } } og sig hvad den siger
08. oktober 2003 - 16:41
#15
current frame: 333 Jeg smed lige en extra trace på: var first; first=random(3); first++; trace(first); loadmovie(first+".swf","holder"); this.onEnterFrame = function(){ trace("current frame: "+holder._currentframe); trace("total frames: "+holder.totalframes); if(holder._currentframe == holder.totalframes){ trace("slut"); holder.loadMovie("2.swf"); } } Her er et uddrag af outputtet, hvor den slutter den første animation total frames: current frame: 334 total frames: current frame: 335 total frames: current frame: 1 Det ser ud til den ikke kender totalframes
08. oktober 2003 - 16:42
#16
der mangler en _ i totalframes: _totalframes
08. oktober 2003 - 16:49
#17
Så kommer den ind i if'en ! -Jeg bliver nød til at smutte, men det kan være jeg vender måske tilbage imorgen... Ses
08. oktober 2003 - 16:49
#18
...og Mange tak!!
08. oktober 2003 - 16:50
#19
ses!
09. oktober 2003 - 11:46
#20
Okay nu er det fanme mærkeligt... Jeg har haft det til at køre, men nu vil funktionen slet ikke køre...
koden ser sådan her ud:
var first;
first=random(3);
first++;
trace(" first selected: "+first);
loadmovie("
http://www.netop.com/school30_flash/"+first+".swf" ,"holder");
this.onEnterFrame = function(){
trace("in function");
if((holder._currentframe == holder._totalframes) and holder._currentframe>2){
trace("in if");
first++;
if (first>3){
first=1;
trace("in nested if, first was > 3");
}
holder.loadMovie("
http://www.netop.com/school30_flash/"+first+".swf" );
}
}
09. oktober 2003 - 12:00
#21
lig et svar!
09. oktober 2003 - 12:23
#22
fik du det til at virke? jeg har kursus i dag så jeg svare nok lidt langsomt...
09. oktober 2003 - 12:25
#23
Jeg fik det til at virke... men nu kommer den ikke ind i onEnterFrame funktionen... Mystisk
koden ser sådan her ud:
var first;
first=random(3);
first++;
trace(" first selected: "+first);
loadmovie("
http://www.netop.com/school30_flash/"+first+".swf" ,"holder");
this.onEnterFrame = function(){
trace("in function");
if((holder._currentframe == holder._totalframes) and holder._currentframe>2){
trace("in if");
first++;
if (first>3){
first=1;
trace("in nested if, first was > 3");
}
holder.loadMovie("
http://www.netop.com/school30_flash/"+first+".swf" );
}
}
09. oktober 2003 - 12:30
#25
den looper bare den første som er loadet... Den kommer aldrig ikke ind i onEnter frame funktionen
09. oktober 2003 - 12:31
#26
jeg kigger lige på det lidt senere...
09. oktober 2003 - 12:32
#27
ok
09. oktober 2003 - 16:17
#28
du fandt ud af det ikke? : )
21. oktober 2003 - 09:31
#29
Mange tak for hjælpen!
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.