Avatar billede 13thsky Nybegynder
31. marts 2004 - 11:16 Der er 29 kommentarer og
1 løsning

find fejlen?

Jeg har følgende script i mit første frame, desuden ligger der også et dynamisk tekstfelt(var=tal2) og et movieclip(mov1):

varsFraPHP = new LoadVars();
varsFraPHP.onLoad = function(success){
  if(success){
    tal2 = this.antal;
    }
mov1.loadMovie("images/"+tal2);
mov1.onEnterFrame = function() {
    if (mov1.getBytesLoaded()>12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {
        mov1._width = 80;
        mov1._height = 100;
        mov1._x = -118;
        mov1._y = -4;
   
};
  }
}
varsFraPHP.load("getFileName.php");


- getFileName.php returnerer "120.jpg", hvilket der godt nok også kommer til at i tekstfeltet, men hvorfor loader den ikke billedet?

/13
Avatar billede _k Nybegynder
31. marts 2004 - 11:40 #1
..fordi tal2 ikke er sat før du bruger det. Prøv med:

varsFraPHP = new LoadVars();
varsFraPHP.onLoad = function(success){
  if(success){
    tal2 = this.antal;
    mov1.loadMovie("images/"+tal2);
    }

mov1.onEnterFrame = function() {
    if (mov1.getBytesLoaded()>12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {
        mov1._width = 80;
        mov1._height = 100;
        mov1._x = -118;
        mov1._y = -4;
   
};
  }
}
varsFraPHP.load("getFileName.php");
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:03 #2
Den viser stadig ikke billedet, skal jeg mside filen op?

/13
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:12 #3
faktsik virker dette her heller ikke:

varsFraPHP = new LoadVars();
varsFraPHP.onLoad = function(success){
  if(success){
    tal2 = this.antal;
    mov1.loadMovie("images/"+tal2);
    }
};
varsFraPHP.load("getFileName.php");

altså den printer i tekstfeltet, men viser ikke billedet

/13
Avatar billede _k Nybegynder
31. marts 2004 - 12:18 #4
Hvad spytter den ud hvis du skriver:

if(success){
    tal2 = this.antal;
    mov1.loadMovie("images/"+tal2);
    trace("images/"+tal2);
    }

..og er det så den rigtige sti?
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:25 #5
hmm, jeg er ikke helt med... Hvor skal den spytte noget ud?

Jeg tester i browseren...

/13
Avatar billede _k Nybegynder
31. marts 2004 - 12:29 #6
Prøv at teste inde i Flash - når du tracer noget, bliver det skrevet i output-vinduet. Det kan nemlig godt tænkes, at navnet på dit billede eller swf ikke bliver skrevet ordentligt til loadMovie
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:33 #7
ok, i output vinduet skriver den:

images/".$names[$tilf];
}
$dir = "images";
ListJPG($dir);
?>
</body>
</html>

+ fejlmeddelelse fordi den ikke kan åbne php filen når det nu er lokal.
Avatar billede _k Nybegynder
31. marts 2004 - 12:39 #8
prøv at skrive den fulde sti til php-dokumentet. Det forstår Flash fint: varsFraPHP.load("http://www.mitdomæne.dk/minFil.php");
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:43 #9
jamen, den skriver jo fint i tekstfeltet, så det kan vel ikke være fordi den ikke kan finde php filen. Umiddelbart må fejlen ligge i :
mov1.loadMovie("images/"+tal2);

men prøver lige alligevel..

/13
Avatar billede 13thsky Nybegynder
31. marts 2004 - 12:48 #10
underligt nok melder output vinduet så:
Error opening URL "http://www.rent-a-movie.dk/flash/getFileName.php"

som er url'en hvor php filen ligger...
Avatar billede _k Nybegynder
31. marts 2004 - 12:50 #11
...men det er i php-dokumentet problemet ligger! Der skal ikke udskrives <html>-,<head>- og <body>-tags. Kun variablen og dens indhold!
Avatar billede 13thsky Nybegynder
31. marts 2004 - 13:14 #12
100point mere?

ja, det var det sq, prøvede lige at fjerne alt undtagen php scriptet i php filen og wupti...

men nu er der lige opstået et lille problem mere, det billede det henter ind, er ikke altid i samme størrelse - det skal det være... dvs scriptet:

mov1.onEnterFrame = function() {
    if (mov1.getBytesLoaded()>12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {
        mov1._width = 80;
        mov1._height = 100;
        mov1._x = -118;
        mov1._y = -4;

- må lave en konflikt somehow...

jeg smider 100 point oveni, hvis du kan hjælpe mig med det...
/13
Avatar billede _k Nybegynder
31. marts 2004 - 13:53 #13
Igen kan du prøve at trace og se hvor i if-sætningen den er gal:

trace(mov1.getBytesLoaded()+ " >12 && " +  mov1.getBytesLoaded() + " == " + mov1.getBytesTotal());

(skal stå lige over if-sætningen)
Avatar billede 13thsky Nybegynder
31. marts 2004 - 13:57 #14
så returnerer output vinduet:

12 >12 && 12 == 12
Avatar billede _k Nybegynder
31. marts 2004 - 14:02 #15
12 blive aldrig større en 12, så måske kan det løses med:

if (mov1.getBytesLoaded()>=12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {

...eller bare ændre dit 12-tal til et mindre. Strengt taget skal mov1.getBytesLoaded() vel bare være større end 0 ??
Avatar billede 13thsky Nybegynder
31. marts 2004 - 14:17 #16
ok, jeg har ændret det til
if (mov1.getBytesLoaded()>=12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {

men alligevel, får billeder ikke samme størrelse hver gang de bliver hentet ind...
Avatar billede _k Nybegynder
31. marts 2004 - 14:22 #17
Hvis dine billeder ikke er 12kb eller større, så når de aldrig op på det dér 12-tal. Kan du ikke bare skrive "1" i stedet? For det MÅ handle om at if-sætningen ikke bliver aktiveret (så det er det vi skal have den til ;o)
Avatar billede 13thsky Nybegynder
31. marts 2004 - 14:58 #18
ok, nu har jeg sat den til 1, men så bliver billederne gigastore...

/13
Avatar billede 13thsky Nybegynder
31. marts 2004 - 14:59 #19
og støørelserne er stadig forskellige

/13
Avatar billede _k Nybegynder
31. marts 2004 - 16:06 #20
Hvad sker der med:

mov1.onEnterFrame = function() {
    if (mov1.getBytesLoaded()>1 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {
        mov1._width = 80;
        mov1._height = 100;
        mov1._x = -118;
        mov1._y = -4;
        delete mov1.onEnterFrame;
};
Avatar billede 13thsky Nybegynder
31. marts 2004 - 16:15 #21
så bliver billederne bare hevet ind i en størelse, der får en fodboldbane til at ligne et frimærke..

/13
Avatar billede barklund Nybegynder
31. marts 2004 - 17:46 #22
mov1.getBytesTotal() > 12 traces da det tomme movieclip ikke er tomt men indeholder en almindelig streg - og den fylder 12 bytes. Og et billede vil uanset hvor lille det måtte være unægteligt fylde mere end 12 bytes!

Prøv lige med:

_root.onEnterFrame = function() {
    trace("loaded: "+mov1.getBytesLoaded()+", total: "+mov1-getBytesTotal());
    if (mov1.getBytesLoaded()>12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) {
        trace("finally");
        mov1._width = 80;
        mov1._height = 100;
        mov1._x = -118;
        mov1._y = -4;
        delete this.onEnterFrame;
    }
};

Og vent lidt til billedet er kommet ind, så skulle det gerne virke - og hvis ikke så fortæl ALT hvad der kommer i outputvinduet :)
Avatar billede 13thsky Nybegynder
31. marts 2004 - 18:37 #23
You are the man Barklund - og takker _K
-> Barklund, hvor kan jeg smide de 100 point til dig?

//13th Sky
Avatar billede barklund Nybegynder
31. marts 2004 - 19:34 #24
No problem - du kan fjerne de der traces igen :)
Avatar billede barklund Nybegynder
31. marts 2004 - 19:35 #25
Men det var nu _k's svar du accepterede - altså du klikkede aktivt på hans navn på listen og accepterede det :/
Avatar billede 13thsky Nybegynder
31. marts 2004 - 21:17 #26
I know, men han svarede jo også på det oprindelige spørgsmål. Kl 13.14 udlover jeg yderligere 100 point, de er til dig...


/13
Avatar billede _k Nybegynder
01. april 2004 - 10:50 #27
Takker for point.

Og tak til Barklund for (for gud ved hvilken gang :o) også at fortælle mig noget jeg ikke vidste - at et mc fylder min. 12 bytes.
Avatar billede barklund Nybegynder
01. april 2004 - 10:57 #28
Et tomt movieclip fylder 4 bytes. Et movieclip med en enkelt streg lavet med line tool uden nogen krumninger som 13thsky havde lavet her fylder altså 12 byte. Det er jo bare at tage movieclippet og køre en getBytesTotal() på det.
Avatar billede 13thsky Nybegynder
01. april 2004 - 11:12 #29
Barklund->Hvordan overfører jeg de 100 ekstra point til dig?

Skal jeg oprette et nyt spørgsmål?
Avatar billede barklund Nybegynder
01. april 2004 - 15:20 #30
Tja det skal du egentlig, men det gør mig nu ikke så meget :)
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