AS3 button ROLL_OVER

ActionScript και Flex Προγραμματισμός

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 28 Σεπ 2010 03:46

Καλησπέρα. Έχω ενα κουμπί στο flash και θέλω να κάνω rollover, ωστέ όταν πηγαίνω το mouse επάνω να εμφανίζει ένα άλλο symbol. Ο κώδικας είναι αυτός:

stop();

btn1.addEventListener(MouseEvent.ROLL_OVER, manageMouseOver, false, 0, true);

function manageMouseOver(event:MouseEvent):void{
btn1.removeEventListener(MouseEvent.ROLL_OVER, manageMouseOver);
btn1.addEventListener(MouseEvent.ROLL_OUT, manageMouseOut, false, 0, true);
//your over code here
}

function manageMouseOut(event:MouseEvent):void{
btn1.removeEventListener(MouseEvent.ROLL_OUT, manageMouseOver);
btn1.addEventListener(MouseEvent.ROLL_OVER, manageMouseOut, false, 0, true);
//your out code here
}

Μπορεί να βοηθήσει κάποιος; Thanks!

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

AS3 button ROLL_OVER

Δημοσίευση από HeRu » 28 Σεπ 2010 08:11

Καλημέρα!

Τα buttons έχουν αυτόματα αυτήν την λειτουργία.
Όταν τα κάνεις edit, έχουν ένα over frame όπου βάζεις το περιεχόμενο που θέλεις όταν είναι το mouse από πάνω.

Αν εννοείς ότι θέλεις να κάνεις ένα movieclip να συμπεριφέρεται σαν button, θέλει κάποιες αλλαγές ο κώδικας σου.

Κώδικας: Επιλογή όλων

stop();

btn1.addEventListener(MouseEvent.MOUSE_OVER, manageMouseOver);
btn1.addEventListener(MouseEvent.MOUSE_OUT, manageMouseOut);

function manageMouseOver(event:MouseEvent):void{
//your over code here
}

function manageMouseOut(event:MouseEvent):void{
//your out code here
} 

Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 28 Σεπ 2010 09:23

Να στο εξηγήσω λίγο καλύτερα..

Εικόνα

Λοιπόν, έχω την εικόνα HOME και από κάτω τρία κουμπάκια btn1,btnhome,btn2. Το btnhome είναι πατημένο αφού εμφανίζεται η εικόνα HOME.

Αυτό που θέλω είναι όταν πηγαίνω το mouse σε κάποιο άλλο κουμπί, να εμφανίζεται άλλη εικόνα στη θέση της HOME. Αν δείς στα Layers του btn1 εχω το layer img, το οποίο μόλις το ποντίκι πάει πάνω απο το κουμπί η εικόνα από HOME αλλάζει σε BTN1. Το λάθος είναι οτί όταν πάς και εκτός κουμπιού το mouse, δηλαδή πάνω στην εικόνα, πάλι εμφανίζεται το BTN1 επειδή υπάρχει στο OVER του layer img.

Ελπίζω να μη σε μπέρδεψα..

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

AS3 button ROLL_OVER

Δημοσίευση από HeRu » 28 Σεπ 2010 10:08

Βγάλε την εικόνα από το button και φτιάξε ένα movieclip στο κεντρικοί σου timeline που θα έχει όλες τις εικόνες μαζί.

Έπειτα μπορείς στα buttons να βάλεις

Κώδικας: Επιλογή όλων

btn1.addEventListener(MouseEvent.MOUSE_OVER, manageMouseOver);
btn1.addEventListener(MouseEvent.MOUSE_OUT, manageMouseOut);

function manageMouseOver(event:MouseEvent):void{
// Σε όποιο frame είναι η εικόνα αυτού του button.
image_mc.gotoAndStop(2); 
}

function manageMouseOut(event:MouseEvent):void{
//Ένα άδειο frame ή ένα default home image.
image_mc.gotoAndStop(1); 
}

Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 28 Σεπ 2010 11:30

Το έκανα και τώρα μου εμφανίζει αυτό το μήνυμα μόλις πηγαίνω πάνω στο κουμπί:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at test.fla::Symbol1_64/manageMouseOver()

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

AS3 button ROLL_OVER

Δημοσίευση από HeRu » 28 Σεπ 2010 11:48

Πρέπει να δώσεις όνομα στο movieclip στο instance name image_mc για να δουλέψει ο πιο πάνω κώδικας.

Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 28 Σεπ 2010 11:51

Μα το έχω δώσει, αν δεν το δώσω μου βγάζει άλλο μήνυμα:

1120: Access of undefined property image_mc.

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

AS3 button ROLL_OVER

Δημοσίευση από HeRu » 28 Σεπ 2010 12:45

Σου έφτιαξα ένα sample για να δεις πως το έκανα.
Είναι λίγο πιο advanced ο κώδικας που έβαλα.
Συνημμένα
images.zip
Source
(12.97 KiB) Μεταφορτώθηκε 366 φορές

images.swf [ 2.95 KiB | Προβλήθηκε 23943 φορές ]


Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 29 Σεπ 2010 02:55

Το έκανα από την αρχή αλλά με ένα κουμπί ακριβώς όπως το δικό σου και δεν παίζει σωστά.
Συνημμένα

test.swf [ 857 Ψηφιολέξεις | Προβλήθηκε 23884 φορές ]

test.zip
(4.9 KiB) Μεταφορτώθηκε 337 φορές

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

AS3 button ROLL_OVER

Δημοσίευση από HeRu » 29 Σεπ 2010 10:00

Έχεις την εικόνα πάνω από το κουμπί, και έτσι όταν εμφανίζεται η εικόνα, είναι σαν να κάνεις move out από το κουμπι, έπειτα εξαφανίζεται η εικόνα και κάνει πάλι move over στο κουμπί και κάνει συνεχεία loop μεταξύ over & out.

Βάλε το button layer πάνω από το image layer.

Άβαταρ μέλους
Crypton-R-
Δημοσιεύσεις: 104
Εγγραφή: 28 Ιουν 2003 19:28
Τοποθεσία: Ηράκλειο Κρήτης

AS3 button ROLL_OVER

Δημοσίευση από Crypton-R- » 29 Σεπ 2010 14:26

Ok, δεν το είχα προσέξει. Δουλεύει τώρα, thanks!

Απάντηση

Επιστροφή στο “ActionScript και Flex Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες