Avatar billede jkn83 Praktikant
06. marts 2007 - 16:36 Der er 29 kommentarer og
1 løsning

Rollover menu med mysql data

Jeg har haft lyst til et stykke tid at lave en form for menu, ikke klikbar, men som en type info... Forklaring følger...

http://i145.photobucket.com/albums/r240/Deus83/flashimg.jpg

Billedet der bruges som eksempel.
Når jeg flytter musen over eks 1, skulle text ændres til en information omkring 1, og "1 billedet" ændres til et andet billed, indtil musen kører ud af 1, sættes det tilbage til start. Og musen over 2, ændres text til en information omkring 2, billedet skifter til andet billed, osv.

php1 skal så hente information gemt i mysql, og vise det på php1's plads... php2 henter en anden information fra mysql og viser den information osv...

Hvad jeg søger er nogle tutorials der beskriver godt hvordan det kan opbygges. Eller en guide fra en af jer mere erfarne, der kan guide mig gennem denne lille ting... mm. Så længe jeg er i stand til at lave "info baren" uden videre stor erfaring inden for flash.

På forhånd tak :)

spørgsmål ?
Avatar billede maqhem Nybegynder
06. marts 2007 - 17:51 #1
Det er faktisk ikke så svært igen. Først skal du have lavet et php-script, der kan hente dataen ud af databasen. Således kan scriptet se ud:

<?php
    // Denne linje definerer din server
    $con = mysql_connect("localhost", "login", "kodeord");

    // Denne linje bestemmer din database på serveren, og at den skal connecte via $con, som er defineret ovenover
    mysql_select_db("databasenavn", $con);

    // Denne linje sætter variablen php1 til indholdet af cellen i kolonnen php1, hvor rækken program hedder flash, fra tabellen tabel
    $php1 = mysql_fetch_array(mysql_query("SELECT php1 FROM tabel WHERE program='flash'"));

    // Denne gør det samme som ovenstående, blot med php2 i stedet for
    $php1 = mysql_fetch_array(mysql_query("SELECT php2 FROM tabel WHERE program='flash'"));

    // Og til sidst php3
    $php1 = mysql_fetch_array(mysql_query("SELECT php3 FROM tabel WHERE program='flash'"));

    // Dette udskriver dine data som php1=PHP1DATA&php2=PHP2DATA&php3=PHP3DATA
    print "php1=" . $php1[0] . "&php2=" . $php2[0] . "&php3=" . $php3[0];
?>

Når du har lagt denne fil ud på din server, eksempelvis http://www.dinside.dk/phptilflash.php, så ordnes resten fra Flash:

// Denne laver et objekt, der kan hente dataen fra php-siden
var myVars:LoadVars = new LoadVars();

// Denne definerer hvordan dataen loades
myVars.onLoad = function(success) {

    // Hvis success er true kunne dataen hentes, og så gøres følgende
    if(success) {

        // Nu sættes fPhp1 til php1, som kommer fra php-scriptet, og som ligger bevaret i myVars
        fPhp1.text = myVars.php1;

        // Det samme med php2...
        fPhp2.text = myVars.php2;

        // ... Og php3
        fPhp3.text = myVars.php3;

        // Derefter viser vi Flash, at dataen er loaded, ved at fjerne movieclippet loading
        loading.removeMovieClip();

    // Hér vises så, hvad der skal ske, hvis dataen ikke kunne loades
    } else {

        // Kunne dataen ikke loades, går loading til frame 2, som viser en fejl
        loading.gotoAndStop(2);

    // Hér lukkes if'en
    }

// Og hér lukkes hele funktionen
}

// Denne linje viser, hvorfra dataen skal loades
myVars.load("http://www.dinside.dk/phptilflash.php");

// Nu vises, hvad der sker, hvis man kører hen over billede 1 kaldt b1
b1.onRollOver = function() {

    // Dette skjuler HandCorsor
    this.useHandCursor = false;

    // Sætter tekst til en given information
    tekst.text = "Information om 1...";

// Luk funktionen
}

// Og det samme med nummer to
b2.onRollOver = function() {

    // Dette skjuler HandCorsor
    this.useHandCursor = false;

    // Sætter tekst til en given information
    tekst.text = "Information om 2...";

// Luk funktionen
}

// Og så lige den sidste
b3.onRollOver = function() {

    // Dette skjuler HandCorsor
    this.useHandCursor = false;

    // Sætter tekst til en given information
    tekst.text = "Information om 3...";

// Luk funktionen
}

// Nu vises, hvad der sker, hvis man kører ud igen ved både b1, b2 og b3
b1.onRollOut = b2.onRollOut = b3.onRollOut = function() {

    // Sætter tekst til standard
    tekst.text = "Text";

// Luk funktionen
}

Filerne kan findes på http://www.maqhem.com/exp/766465.zip
Avatar billede jkn83 Praktikant
06. marts 2007 - 18:14 #2
har nogle problemer med åbningen af filen... bruger Macromedia Flash MX pro 2004
Unexpected file format... Skal jeg have anskaffet mig en nyere udgave ?
Avatar billede jkn83 Praktikant
06. marts 2007 - 18:17 #3
Hvis jeg nu har et billed i stedet for 1'tallet, der skal udskiftes med et andet billed, hvordan får jeg så lige det sat ind i koden ? Billedet skal være i greyscale når der ikke "peges" på det, og i color når der er en rollover... Hvis det skulle hjælpe :D er nemlig lidt i tvivl om jeg skal bruge greyscale eller om jeg skal sætte en greyscale til billedet i flash...
Avatar billede maqhem Nybegynder
06. marts 2007 - 18:45 #4
Det med gray- og colorscale kan nemt ordnes i Flash 8 eller nyere version. Jeg vil råde dig til at skaffe version 8, men hér er en version, der burde virke i MX 2004:
http://www.maqhem.com/exp/766465b.zip
Avatar billede maqhem Nybegynder
06. marts 2007 - 19:12 #5
Hmm det med farve kan jo også godt ordnes i Flash MX 2004 kommer jeg i tanker om
Avatar billede jkn83 Praktikant
06. marts 2007 - 20:08 #6
hehe ok :D ser lige på det i aften, har jeg problemer eller lignende vender jeg lige tilbage :)
Avatar billede jkn83 Praktikant
06. marts 2007 - 20:14 #7
ehm, hvordan ville du gøre det med grey- colorscale i flash 8 ? Får det lige skaffet, så forsøger jeg med det.
Avatar billede maqhem Nybegynder
06. marts 2007 - 20:21 #8
Marker objektet (skal være et symbol). Gå ind i Filters og tilføj en Adjust Color. Sæt så Satuation til 0.
Avatar billede jkn83 Praktikant
06. marts 2007 - 21:27 #9
Men det skal vel foregå over 2 frames så... ik ? Jeg har før leget med flash, men det er sku et par år siden og det var kun efter nogle tuts, så er helt noob her :P
Avatar billede jkn83 Praktikant
07. marts 2007 - 17:37 #10
har fået det til at fungere inde i flash i 8'eren også... Det takker jeg for :) mangler bare det med billedet.

søgte en del efter det inde i Help i flash, men fandt en masse med RGB farverne, men intet med saturation som actionscript. Noget du kunne forklare lidt nærmere så det kommer til at fungere ? skal være grey til at starte med, color når mus flyttes over...

og så samtidigt smide et svar så acceptere jeg lige :)
Avatar billede maqhem Nybegynder
07. marts 2007 - 17:52 #11
Jeg synes bare, du skal gøre det manuelt. Adjust Color kan vidst nok, som den eneste Filter-effekt, ikke kodes på.
Avatar billede jkn83 Praktikant
07. marts 2007 - 17:55 #12
jamen som tidligere spurgt om, så skal det vel gøres over et par frames så ik ? eller hvordan ?
Avatar billede maqhem Nybegynder
07. marts 2007 - 18:05 #13
Nej, det skal det ikke. Jeg har sendt filen til dig.
Avatar billede jkn83 Praktikant
07. marts 2007 - 18:48 #14
i de 2 filer du har "sendt" er der da ikke et eksempel på at "billedet" 1 skifter når musen kører over...
Avatar billede jkn83 Praktikant
07. marts 2007 - 21:21 #15
Hm, det må vel forblive et mysterie for mig så... Med mindre du smider et link til en tut der beskriver hvad du mener eller fortæller hvordan du laver den effect uden at gøre det over frames?

accepteret
Avatar billede maqhem Nybegynder
07. marts 2007 - 21:36 #16
Hov, jeg postede et svar, men det har eksperten slettet for mig - igen, igen. Hmf.

1. Sørg for, at billedet bliver til en knap. (Marker + F8 + vælg Button + Ok).
2. Dobbeltklik på den.
3. Lav to frames. Første er normal, og anden er med cursoren over.
4. Lav så billedet, der skal gray-scales til et symbol (Marker + F8 + vælg Button + Ok).
5. Tilføj en Adjust Color (Properties / Filters/ Parameters + vælg Filters + klik PLUS + Adjust Color + sæt Satuation til mindste størrelse (-100)).
Avatar billede jkn83 Praktikant
07. marts 2007 - 21:49 #17
hmm virker stadig ikke.
Når jeg forsøger med hvad du lige har beskrevet der, sker der for det første intet når musen flyttes over billedet, teksten ændres ikke mere, og der vises nu en handcurser... hmm ?
Avatar billede maqhem Nybegynder
07. marts 2007 - 21:58 #18
Husk at skrive dens navn rigtigt i instance-feltet i Properties! Det glemte jeg lige før. Jeg tror nok, den skal hedde b1.
Avatar billede jkn83 Praktikant
07. marts 2007 - 22:29 #19
Her er hvad jeg gjorde efter hele koden virker og jeg skal have addet farve skiftet.

1. Dobbeltklikker på 1 (billedet der er lavet til button b1)
2. laver 2 frames, 1 i Up som er der som standard, og 1 i Over
3. Vælger billedet i Up, laver det til en button og navngiver den b1a under "instance of" da der ikke kan være 2 af samme navn, og navngiver den under "instance name" b1
4. går tilbage til scene og ser mit første billed (1) ikke er farvet mere, hvilket er i orden da den skal starte ud som grå og med musen over skifte til farve.

Tester scenen, og endnu en gang "fejler" den... Den melder ikke direkte fejl, men man ser en hånd markør over det ene billed, og teksten eller billedet ændres ikke...
Avatar billede maqhem Nybegynder
08. marts 2007 - 11:12 #20
Instance of? Den må du aldrig bruge til formålet. Desuden skal hvert billede INDE i en knap ikke have navne, KUN selve knappen :)
Avatar billede jkn83 Praktikant
08. marts 2007 - 16:23 #21
ok :D men stadig, kan ikke få det til at fungere :(
Avatar billede jkn83 Praktikant
08. marts 2007 - 17:41 #22
Muligt du kan bruge det eksempel du lavede før, og så bare lave det med billedet også, og smide filen op igen så jeg kan se om jeg laver en fejl eller hvad jeg gør.
Avatar billede maqhem Nybegynder
08. marts 2007 - 20:02 #23
Ja, det gør jeg lige. Det ville jo være lidt smartere.
Avatar billede maqhem Nybegynder
08. marts 2007 - 20:14 #24
www.maqhem.com/exp/766465c.zip - men denne version er altså påkrævet Flash 8.
Avatar billede jkn83 Praktikant
08. marts 2007 - 21:38 #25
haha... ja det er sku sjovt så enkelt det er :D du brugte jo også movie clip nu i stedet for button som du sagde jeg skulle bruge :D så virker det...

Bukker og takker ;)
Avatar billede maqhem Nybegynder
08. marts 2007 - 21:46 #26
Jeg havde jo selvfølgelig glemt, at billedet i forvejen var en knap. Det var lige min fejl. Men nu duer det, så det er fedt :)
Avatar billede jkn83 Praktikant
08. marts 2007 - 21:49 #27
hehe ja :D en sidste ting måske ? tænkte nemlig på at min tekst der vises i tekst feltet øverst står med en type font og uden fed... Havde valgt en anden til at starte med, som står der når den loades, verdana og i bold, men så snart man har kørt over en "button" skifter den til times new roman uden fed, og sætter teksten til det resten af processen igennem...
Avatar billede maqhem Nybegynder
08. marts 2007 - 21:58 #28
Kan du uploade det? Der lyder underligt.
Avatar billede jkn83 Praktikant
08. marts 2007 - 22:02 #29
der er jo ikke sat et font til "projektet", så når actionscript indsætter en tekst kører den vel efter en standard ? kan man ikke definer en font selv så den vises når actionscript indsætter en tekst ?
Avatar billede maqhem Nybegynder
08. marts 2007 - 22:04 #30
Jo da. Du skal bare sætte en property font:

txt_field.font = "Courier New"; // eller hvad du nu ønsker

Det kan godt ske, du skal sætte et tekstformat først... Dette kan du alt sammen finde et sted i hjælpen, bare søg på TextField font og se under ActionScript Language References tror jeg nok, den hedder.
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