Avatar billede marcus456 Nybegynder
20. august 2007 - 06:55 Der 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

on(release) {
    gotoAndPlay(90);

    loadMovie("mov1.swf",1);
}
Avatar billede _k Nybegynder
20. august 2007 - 08:30 #1
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.
Avatar billede marcus456 Nybegynder
20. august 2007 - 09:20 #2
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")
Avatar billede _k Nybegynder
20. august 2007 - 09:38 #3
Du kan godt dele scriptet op. Læs de to sidste linjer af min ovenståeden kommentar ;)
Avatar billede marcus456 Nybegynder
20. august 2007 - 11:24 #4
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"
Avatar billede marcus456 Nybegynder
20. august 2007 - 11:40 #5
Det fungere fint som jeg netop har nævnt, har testet det.
Men hvordan definere jeg hvilken movie der skal loades, på det pågældende knap?
Avatar billede _k Nybegynder
20. august 2007 - 11:45 #6
Du kan evt. sætte en variabel samtidig med at du trykker på knappen:

På tidslinjen frame 1:
var filmToLoad:String;

På knap:
on(release) {
    filmToLoad = "film1";
    gotoAndPlay(90);
}

På tidslinje frame 110:

loadMovie(filmToLoad+".swf",1);
Avatar billede marcus456 Nybegynder
20. august 2007 - 15:05 #7
Den glider hen og afspiller til frame 110 og så stopper den.
Jeg går udfra at jeg kan definere den movie der skal loades i knappen ved at skrive
Feks.

filmToLoad = "mov1";

men den starter ikke
Avatar billede _k Nybegynder
20. august 2007 - 15:12 #8
Får du nogen fejl i output vinduet?
Avatar billede marcus456 Nybegynder
20. august 2007 - 15:19 #9
nej
Avatar billede _k Nybegynder
20. august 2007 - 15:43 #10
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?

trace("filmToLoad: " + filmToLoad);
Avatar billede marcus456 Nybegynder
20. august 2007 - 16:05 #11
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?
Avatar billede marcus456 Nybegynder
20. august 2007 - 16:07 #12
mov1.swf ligger i samme mappe
Avatar billede _k Nybegynder
20. august 2007 - 16:11 #13
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 ;)
Avatar billede marcus456 Nybegynder
20. august 2007 - 16:38 #14
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");
    }
Avatar billede marcus456 Nybegynder
20. august 2007 - 16:43 #15
hvis du ikke kan finde på en løsning smider jeg bare point over til dig anyway som tak for din hjælp...måske du kommer på en løsning senere
Avatar billede _k Nybegynder
20. august 2007 - 17:37 #16
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...
Avatar billede _k Nybegynder
20. august 2007 - 17:37 #17
Og jeg lægger da gerne et svar, men synes da at du skal have løst problemet først.
Avatar billede marcus456 Nybegynder
20. august 2007 - 18:15 #18
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.
Avatar billede marcus456 Nybegynder
20. august 2007 - 19:44 #19
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
Avatar billede marcus456 Nybegynder
21. august 2007 - 18:50 #20
Er du stadig med her?

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?
Avatar billede marcus456 Nybegynder
22. august 2007 - 11:04 #21
Til jer der gerne vil have et svar på dette. (det kan naturligvis gøre mere praktisk, at loade ind i et movieclip istedet.)
Koden skal være.

//Knap 1:

on(release) {
gotoAndPlay(90);

filmToLoad = "mov1.swf"
}

//Frame 110:

loadMovieNum(filmToLoad,1);

Det er "Num" der gjore udfaldet.
Avatar billede marcus456 Nybegynder
22. august 2007 - 11:06 #22
var filmToLoad:String;

Er overflødigt
Avatar billede marcus456 Nybegynder
22. august 2007 - 11:23 #23
Der bliver sagt _root "er hø"...

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
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