20. august 2007 - 06:55Der er
22 kommentarer og 1 løsning
Gotoandplay og loadmovie
Hej,
Jeg vil gerne have frame 90 til at afspille først i samme scene inden "mov1swf" loades. Hvordan kan jeg skrive det? Jeg har skrevet det sådan herunder, men den går direkte til load movie med det samme :S
Det virker faktisk. For det du foræller Flash du gerne vil er at gå hen på frame 90, og det gør den så. Problemet er bare at et splitsekund senere fortæller du, at du gerne vil loade en ny film ind i layer 1 - med andre ord når du så aldrig at se at du hoppede over på frame 90.
Jeg vil foreslå at du loader ind i et MovieClip i stedet for at loade ind i en level. Det er ganske meget mere praktisk at arbejde med. Du kan evt. slå op i hjælpen og kigge, men umiddelbart er syntaksen:
loadMC.loadMovie("mov1.swf");
...alternativet er at fjerne loadMovie-scriptet fra knappen og lægge det i f.eks. frame 110 på tidslinjen - så vil frame 90-110 nå at blive afspillet inden du loader nyt materiale ind.
Det er lidt problematisk at bare loade ind i en ny movie, da der skal afspilles et afsluttende klip inkls. materiale fra første movie, inden næste movie loades. Og en af grundene til jeg ikke har lagt begge afsnit på samme tidslinie er for at dele et galleri op så der ikke skal loades alt for meget i starten, da jeg har lagt billederne i et' samlet movieclip.
Er det ikke muligt at dele scriptet op så det forstår at det skal afspille fra frame 90 stil stop og dernæst loade en movie?
Knappen(erne) er sat sammen i et' movieclip og det undre mig det kun virker hvis jeg sætter loadMovie ind men ikke med gotoAndplay kun hvis jeg bruger _root.gotoAndplay("90")
Har skam læst - har vist misforstået dig så. Er ny i actionscipt, så det kræver nok lidt mere forklaring. Det du mener er at lægge loadmovie ind i en en frame i slut af "afslutnings filmen" og i knappen ligger jeg gotoandplay? Problemet med det er jo at det skal være hvilken som helst movie der skal loades efter valg og ikke kun "mov1.swf"
hvis du ingen fejl får, kan der være sket et af to: scriptet bliver ikke kaldt eller det bliver kaldt og går godt. Hvis du tracer din variabel på linje 110, hvordan ser den så ud?
Jeg får et output der siger: filmToLoad: mov1.swf Så det er lidt underligt den ikke vil starte
Må vist starte på mine nye bøger, men jeg sidder midt i et projekt :) Så mangler noget akut hjælp.
Er dette den mest praktiske måde du ville gøre det på, som du sagde øverst eller mente du det var bedre bare at lave designet om og loade movie direkte uden at skulle afspille et klip først?
Kan du lægge din film op et eller andet sted så jeg kan give den et kig.
Jeg ville ALDRIG selv loade ind i et level, men altid i et mc. Din struktur med at loade noget for enden af en timeline er ellers helt ok. Ikke den fedeste kode at hitte ud af senere, men absolut spiseligt for de fleste ikke-oop-prædikanter ;)
Hvad er forskellen på level og mc? Jeg har ikke lige noget sted at ligge det sourchekoden ud pt.(den er oxo for pinlig rodet ligenu :) ) Jeg har en sourchekode som gør det samme PÅ knappen. Jeg kan ikke helt gennemskue det :O| Måske kan du sotere væk i det? Den spiller diverse og ender med 1.swf (hvad jeg kan se)
on (release) { if (_root.link<>3 and _root.animation == 1 and _root.menu2<>num) { _root.animation = 0; _root.menu["item"+_root.link].gotoAndPlay("s2"); _root.link = 3; _root["it"+_root.menu2].gotoAndPlay("s2"); _root.menu2 = num; _root.menu.item3.gotoAndPlay("s1"); if (_root.splash == 1) { _root.gotoAndPlay("p3"); } if (_root.splash == 0) { _root.play(); } _root.pnum2 = "1.swf"; } else if (_root.link == 3 and _root.f == 0 and _root.animation == 1 and _root.pnum2<>"1.swf" and _root.menu2<>num) { _root.pnum2 = "1.swf"; _root["it"+_root.menu2].gotoAndPlay("s2"); _root.menu2 = num; _root.gotoAndPlay("p7"); }
Jeg kan ikke lige lure hvor du vil hen med koden, men jeg kan da komme med en forklaring og et tip. Tippet først: drop alle dine _root's - det er ikke kønt, det er noget hø og du vil hade det i længden.
En level kan du betragte som liggende på main stage. Når du bruger loadMovie("minfilm.swf), 1); loader du ind i level 0 og overskriver stort set alt hvad der ellers ligger i filmen. ET moviclip laver du udfra noget grafik med F8-tasten. MovieClips er grundsstenen i Flash og kan betragtes som det grundlæggende objekt for at få visualiseret sin kode. Brug dem, og du vil elske dem i længden ;)
...du får lige et andet tip. Start en ny film op og prøv kun at lægge den kode vi gennemgik i starten ind i den. Kan du få det til at virke dér, kan du være sikker på at det ikke er et eller andet andet mærkværdigt som crasher din logik...
Tænkte at du måske kunne se noget smart ud i den "avanceret" kode der :)
Ja...jeg laver en ny film for hvis den virker for dig må det være en fejl i det jeg har stillet op. Det undre mig bare hvad det skulle være, men jeg laver en ny film.
Som sagt så har jeg lavet menuen i et' movieclip og det var et tilfælde at jeg fandt ud af at bruge _root.gotoAndPlay() - for gotoAndPlay virker kun hvis jeg placere en knap direkte på scene 1 som jeg har brugt til at teste med. Men loadMovie virker dog i movieclip-menuen. Hvorfor _root er noget hø finder jeg vel nok ud af :)
Jeg ved ikke om jeg kan acceptere et svar senere fra dig hvis jeg afviser dit svar nu? Så jeg klikker ikke på noget endu... Vender lige tilbage imorgen.
Jeg har lavet en helt ny film - der sker det samme, den ruller op og afspiller slutklippet og stopper og loader ikke næste film. Skal knap/var filmToLoad:String;/loadMovie(filmToLoad+".swf",1); - være i det samme layer? De 3 dele ligger i forskellige layer
Nu forstår jeg det bedre - du vil loade et movieclip istedet for at afspille frame til frame. Det meste jeg har på level er lagt ind og lavet i seperate movieclips men ikke fra frame 90-110. Hvis jeg laver "afslutningsklippet" i seperat movieclip og trækker det ind i level frame 90 er det så muligt at skrive i knappen, hvorefter en bestemt film skal afspilles?
Men hvis man har samlet sin menu i et' samlet movieclip skal koden i knappen skrives som: //
on(release) { _root.gotoAndPlay(90);
_root.filmToLoad = "mov1.swf"
// Ellers sker der intet ved klik på knapperne
Synes godt om
Ny brugerNybegynder
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.