Avatar billede tcgrafik Nybegynder
11. marts 2007 - 17:38 Der er 28 kommentarer og
1 løsning

Billedegalleri skal stopper hvis der ikke er flere billeder .

Hej eksperter

Jeg har et lille simpelt billede galleri som henter billeder ind fra en ekstern mappe som ligger i roden på severen. Det gør den også godt. På "frem og tilbage" knapperne er følgende kode til knyttet:

on (release) {
    if (wimg eq 9) {
        wimg = wimg;
        url = 'studio/' + wimg + '.jpg';
        play();
    } else {
        wimg = wimg + 1;
        url = 'studio/' + wimg + '.jpg';


I koden -if (wimg eq 9)- kan man sætte den til 99 altså så den kan læse op til 99 billeder. Men jeg vil gerne have at den stopper når der ikke er flere billeder (hvis der nu kun ligger 14 skal den ikke gå videre til 15 hvis der ikke er noget .jpg billede) kan man indsætte et lille stykke koder der kan det eller hvordan kan det løses. håber der er nogen der har et bud..

På forhånd tak
Avatar billede maqhem Nybegynder
11. marts 2007 - 18:04 #1
Uhhhh det er en gammel Flash-kode det dér. Man benytter ikke eq længere, nu benyttes operanden "==". Og at inkrementere (lægge én til) en variabel gøres nu til dages bare som "var++". Derudover giver det ingen mening at sætte wimg til sig selv, det gør ingen forskel :)
Din kode kan se således ud:

on (release) {
    if (wimg == 9) {
        url = 'studio/' + wimg + '.jpg';
        play();
    } else {
        url = 'studio/' + ++wimg + '.jpg';

Men du kan løse det på to måder:
1. Lav et tjek på, om Flash kan hente filen (bare sæt hele loadClip/loadMovie ind i en if-sætning). Hvis den ikke kan, ja så var forige billede det første/sidste i serien.
Du kan også udvide omfanget din funktionalitet, ved at få PHP til at læse filerne i mappen. Således kan php-scriptet eksempelvist se ud:

<?php
$dir = opendir("billeder");
echo "billeder=";
while(($pic = readdir($directory)) !== false) {
    echo "|" . $pic;
}
closedir($directory);
?>

Hvis du så har billede_1.jpg, billede_2.jpg og billede_3.jpg i mappen, vil den skrive således:
billeder=|.|..|billede_1.jpg|billede_2.jpg|billede_3.jpg (billedernes navne sættes i alfabetisk orden og er 100 % ligegyldige. De bør dog ikke indeholde æ, ø og/eller å).

Så kan du få Flash til at loade dette således:

var minLoadVars:LoadVars = new LoadVars();
minLoadVars.load("http://www.dinside.dk/php-script.php");
minLoadVars.onLoad = function() {
    trace("Billederne i mappen hedder som følger:");
    for(var i:Number = new Number(3); i < minLoadVars.billeder.split("|"); i++) { // billederne starter først fra værdi nummer 3
        trace(minLoadVars.billeder.split("|")[i]);
    }
    var antalBilleder:Number = new Number(minLoadVars.billeder.split("|").length - 2);
    trace("... Disse udgør alt i alt " + antalBilleder + " forskellige billeder");
}

Så burde resten være til at gå til :)
Avatar billede maqhem Nybegynder
11. marts 2007 - 18:05 #2
Ja, du kan gøre det på to måder, og anden måde er selvfølgelig fra to linjer under 1.
Avatar billede maqhem Nybegynder
11. marts 2007 - 18:06 #3
Ups, ups, php-scriptet har en lille fejl. Sådan skal det se ud:

<?php
$dir = opendir("billeder");
echo "billeder=";
while(($pic = readdir($dir)) !== false) {
    echo "|" . $pic;
}
closedir($dir);
?>
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 19:11 #4
Hej Maghem

Tak for dit hurtige svar. Nu har jeg prøvet at gøre som du sagde. kan ikke rigtig få det til og virke. Jeg har lavet php.filen og indsat den rigtige sti. den ligger på serveren. men i flash ved jeg ikke rigtig hvor koden skal placeres. har prøvet på knapperne meeen gik ikke. der er også lige et et par andre små scripts i fla. filen.
Jeg har lavet en lille test pakke i rar. format. for at du kan se hvad jeg mener den ligger her:

http://www.peterkok.dk/billedegallerytest.rar

rigtig fedt hvis du ville kigge på den jeg holder øje :)
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 19:12 #5
lige nu er den tilbage til den gamle kode forresten bare for at vise hvordan det virkede der
Avatar billede maqhem Nybegynder
11. marts 2007 - 19:59 #6
Agh det er til at blive vanvittig af. Siden ekspertens opdatering er den begyndt at slette mine indlæg... Jeg hader det. Men koden kan se således ud, hvis din hjemmeside er www.tcgrafik.dk :

frame:
var php_script:String = new String("http://www.tcgrafik.dk/phpbil.php"); // dit php-script
var mappe:String = new String("http://www.tcgrafik.dk/studio/"); // din mappe med billeder
var vis:Number = new Number(1); // der billede, som vises fra starten af
var billeder:LoadVars = new LoadVars();
var splitted:Array = new Array();
var antal:Number = new Number();
billeder.load(php_script);
billeder.onLoad = function() {
    splitted = billeder.billeder.split("|"); // billednavnene splittet op
    antal = splitted.length - 2; // antal billeder
    for(var i:Number = new Number(3); i < splitted.length; i++) {
        bitmap.createEmptyMovieClip("keeper" + (i - 2), bitmap.getNextHighestDepth());
        bitmap["keeper" + (i - 2)].loadMovie(mappe + splitted[i]);
    }
}
onEnterFrame = function() {
    bitmap["keeper" + vis].swapDepths(bitmap.getNextHighestDepth());
    url.text = splitted[vis + 1];
}

venstre-knap:
on(release) {
    if(bitmap.keeper1 != undefined) {
        vis--;
        if(vis == 0) {
            vis = antal;
        }
    }
}

højre-knap:
on(release) {
    if(bitmap.keeper1 != undefined) {
        vis++;
        if(vis == antal + 1) {
            vis = 1;
        }
    }
}

Og slet så alle de dér frames, de er slet ikke nødvendige. Bare én er fint :)
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 20:03 #7
hehe sikke noget skidt med den opdatering. Jeg ser om det virker  - siger ihvertfald tak for det hurtige respons..
Avatar billede maqhem Nybegynder
11. marts 2007 - 20:06 #8
Hæng mig ikke lige op på, om det virker, for jeg har bare lige skrevet det uden at teste det.
Avatar billede maqhem Nybegynder
11. marts 2007 - 20:22 #9
Nåh ja, lige en ting jeg glemte anden gang: Dit php-script er lidt forkert. Det matcher det første, jeg lavede, men det skal matche det andet, og så skal opendir("billede") skiftes ud med opendir("studo")
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 21:50 #10
Hej Maghem

Nu er det hele ændret og jeg synes jeg har prøvet altmuligt forskelligt
I den her ligger alt som du sagde:

http://www.peterkok.dk/billedegallerytest.rar

den viser ingen fejl når fla. filen eksporteres men den viser ingen billeder. llidt sort
Avatar billede maqhem Nybegynder
11. marts 2007 - 21:56 #11
Prøv at ændre php-filens indhold til:

<?PHP

$dir = opendir("studio");
echo "billeder=";
while(($pic = readdir($dir)) !== false) {
    echo "|" . $pic;
}
closedir($dir);
?>
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 22:03 #12
Hov vent lidt sorry.... prøv lige linket igen der var en fejl men det virker stadigvæk ikke

http://www.peterkok.dk/billedegallerytest.rar
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 22:17 #13
Okay det hjalp - nu virker den men den hopper tilbage til billede 1 når man trykker frem prøv her http://www.peterkok.dk/test.swf :)
Avatar billede maqhem Nybegynder
11. marts 2007 - 22:25 #14
Enten er der noget galt med linket - igen - eller også kan du ikke finde ud af at uploade. Det er nøjagtigt de samme filer, jeg får frem :)

Jeg tror, der er noget galt med min onEnterFrame... Uden at kunne sige det helt præcist. Kan du ikke lige uploade det?
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 22:45 #15
hehe ved det med min opload der - det var lige en fejl :)

her er filerne: http://www.peterkok.dk/billedegallerytestto.rar
Avatar billede kragekjaer Praktikant
11. marts 2007 - 22:48 #16
et gratis top galleri han hentes her: www.kragekjaer.dk/fotoAlbum
Avatar billede tcgrafik Nybegynder
11. marts 2007 - 22:52 #17
ellers tak :) det er lige lovlig flash agtigt det jeg skal bruge skal bare være helt straight - som det vi er igang med.
Avatar billede tcgrafik Nybegynder
12. marts 2007 - 01:04 #18
SÅ lykkedes det - nogen gange kan man  bare ikke se skoven for bare træer! - Der manglede såmænd bare en stop(); i actions layer. Men det var rigtigt hvad du var inde på. Jeg siger ihvertfald mange tak, det var en stor hjælp. Smid et svar og der er point :)
Avatar billede maqhem Nybegynder
12. marts 2007 - 06:05 #19
Ja, okay. Det kan jeg også godt se nu, men jeg smuttede i seng, da klokken blev 22.30, så jeg nåede ikke at få kigget på det. Men det var da godt, at du kunne få det til at du. :)
Avatar billede maqhem Nybegynder
12. marts 2007 - 06:09 #20
Og nu virker pilene også, hvor jeg gider at teste efter. Skift følgende linje ud:

    antal = splitted.length - 2; // antal billeder

med denne:

    antal = splitted.length - 4; // antal billeder

Og så duer det, som jeg ville haft det til i går.
Avatar billede tcgrafik Nybegynder
12. marts 2007 - 20:50 #21
sådan :) - lige et enkelt spørgsmål til - kan man få den til og vise hvilket billede det er i et tekst felt ligesom i den gamle version ?
Avatar billede maqhem Nybegynder
12. marts 2007 - 20:53 #22
Det burde onEnterFrame'en sørge for med sin url.text = splitted[vis + 1];;
Avatar billede tcgrafik Nybegynder
12. marts 2007 - 21:07 #23
okay, skal text feltet så hedde noget specielt ? der er et textfelt men den viser ikke rigtig noget æv.

http://www.peterkok.dk/billedegallerytest3.rar

hvis du gider altså :)
Avatar billede maqhem Nybegynder
13. marts 2007 - 18:12 #24
Hmm... Jeg kunne formode, at du navngiver tekstfeltet forkert. Prøv at skrive "url" i instance name i stedet for var, hvor den stod, sidst jeg kiggede :)
Avatar billede tcgrafik Nybegynder
13. marts 2007 - 20:52 #25
hehe du ved ting, tak. Det er bare så svært og gennemskue når man ikke en haj - men prøver virkelig. Men du havde fuldstændig ret - den skulle hedde url i
instance-name :)
Så det virker faktisk nu og det er vildt fedt. Men en lille ting.(selfølgelig)
I tekstfeltet starter den at vise billede 1 men kalder det bare ".." og når man så klikker næste til billede 2 skriver den "1.jpg" så den faktisk er et billede bagud hvis du forstår. altså 2.jpg - bliver vist i tekstfeltet som 1.jpg ? meget mystisk..

jeg har oprette en tråd igår hvor jeg ozze beskrev mit problem så du kan bare svare der - så jeg kan give dig point du løser det jo nok højst sansynligt :)

jeg ligger mit velkendte link:

http://www.peterkok.dk/billedegallerytest8.rar

På forhånd tak
Avatar billede maqhem Nybegynder
13. marts 2007 - 21:02 #26
Array'et splitted indeholder navnene på billederne, så hvis den er et billede bagud, skal url ikke være splitted[vis + 1] men splitted[vis + 2], tror jeg nok. Prøv lige :)
Avatar billede tcgrafik Nybegynder
13. marts 2007 - 21:20 #27
Du har fuldstændig ret - DET VIRKER! jeg siger tak, du smider bare et svar i den anden tråd og der er point.
Avatar billede maqhem Nybegynder
13. marts 2007 - 21:38 #28
Det er okay, jeg klarer mig fint med disse point. Snup dem bare selv ;)
Avatar billede tcgrafik Nybegynder
13. marts 2007 - 21:46 #29
Pis - Nå jeg har lige prøvet med nogle andre billeder som svinger svinger lidt i højden og breden, men det er ligesom om de andre billede bliver liggende bagveg når man trykker på næste billede, som om den loder alle billeder ind fra start istedet for at loade et enkelt billede ind af gangen og når man trykker næste så er det kun det næste billede der skal ligge- ved du hvor for det ? plus den roder rundt i række følgen..

http://www.peterkok.dk/billedegallerytest12.rar
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