Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Λύσεις προβλημάτων για το δημοφιλές πρόγραμμα κατασκευής παρουσιάσεων στο διαδίκτυο.

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

Απάντηση
Άβαταρ μέλους
WardoG
Δημοσιεύσεις: 51
Εγγραφή: 17 Ιαν 2006 02:31
Τοποθεσία: Athens
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από WardoG » 01 Φεβ 2010 10:52

Δείτε το παρακάτω Link.
http://www.peninsula.com/Peninsula_Hote ... fault.aspx

Θα ήθελα να μου πείτε (αν γνωρίζει κανείς) πώς θα μπορούσα να φτιάξω το εφφέ που κάνει το mouse όταν πάει πάνω απο την μπάρα του μενού (Η Γραμμή ακολουθάει την κίνηση του mouse). Το dropdown δε με απασχολεί καθόλου. Αλλα αυτή γραμμή είναι πολύ τζαναμπέτικη. :P

Ευχαριστώ εκ των προτέρων.. 8)
Oso Yparxei trapoula, tha vgainoune Rigades!
------------------------------------------------------
Εικόνα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από korgr » 01 Φεβ 2010 12:46

Εν αρχη ητο το movie clip "Underline"
Το ολο παιχνιδι προϋποθετει πως γνωριζουμε την τρεχουσα θεση _x, την τελικη θεση _x, το τρεχων πλατος _width και το τελικο πλατος _width.
On MouseOver στην επιλογη του menu οριζεις την τελικη θεση και το τελικο πλατος του "Underline" και τρεχεις μια function η οποια περιλαμβανει δυο tween transitions (του _x και του _width) απο την τρεχουσα θεση στην τελικη και απο το τρεχων πλατος στο τελικο, με easyOut.

Σκοπος μου ειναι η καθοδηγηση και οχι να δωσω ετοιμο κωδικα.
Για το δευτερο ουτως ή αλλως, επαγγελματιες ειμαστε και ...πληρωνομαστε :P

Καλη επιτυχια! :wink:

Άβαταρ μέλους
WardoG
Δημοσιεύσεις: 51
Εγγραφή: 17 Ιαν 2006 02:31
Τοποθεσία: Athens
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από WardoG » 01 Φεβ 2010 13:07

ενα online tutorial (αν γνωρίζει κανείς) θα βοηθούσε γιατί εγώ δε βρίσκω τίποτα (όλως περιέργως)
Oso Yparxei trapoula, tha vgainoune Rigades!
------------------------------------------------------
Εικόνα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από korgr » 01 Φεβ 2010 13:12

Παλιο, αλλα κορυφαιο!
http://www.kirupa.com/developer/actionscript/tween.htm
Εκτος αν δουλευεις AS3 οποτε πρεπει να περιμενεις τους ..."μοντερνους".
Εγω ξερω να κανω με AS2 αυτα που οι περισσοτεροι ψαχνονται (και ποτε δεν καταφερνουν) να κανουν σε AS3. Σημασια εχει ομως πως ...ασχολουνται με AS3, και ειναι "μοντερνοι" :lol: (κουνια που τους κουναγε)

Άβαταρ μέλους
Maradonna
Δημοσιεύσεις: 135
Εγγραφή: 07 Ιουν 2007 03:19
Τοποθεσία: Αθήνα
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από Maradonna » 02 Φεβ 2010 01:11

Το παιδί για να λέει _x προφανως θα εννοει την as2.
Στη 3.0 οπως και νάχει,είναι απλό.Φτιάχνεις ένα movieclip,που περιέχει μία γραμμή (ένα stroke).
Το τοποθετείς στην αρχική θέση που θέλεις (προγραμματικά ή απο το IDE),και στη συνέχεια φτιάχνεις mouseEvents.Αν έχεις 4 buttons στο μενού σου,φτιάχενεις 4 mouseEvent listeners για το κάθε button ξεχωριστα και απο ενα.Τα οποία listener το καθένα κάνει tween το movieclip αυτό με τη γραμμή στη θέση του εκάστωτε μενού button.Τα listener αυτά,είναι MouseEvent.ROLL_OVER.
Για το τέλος,φτιάχνεις και ENA eventListener που θα το κάνεις assign σε όλα τα button σου,και πολύ απλά θα στέλει το movieclip με τη γραμμούλα όπου θέλεις (πχ στην αρχική του θέση..) και θα είναι ROLL_OUT.
Φυσικά,εάν θέλεις να το κάνεις ποιο δυναμικά,μπορείς το αρχικό βήμα με τα 4 ή όσα eventListener για το ROLL_OVER, να τα αντικαταστήσεις με ένα μόνο listener,το οποίο θα περιέχει μία σταθερή αξία μετακινησης την οποία θα ρυθμίζεις με μία απλή ρουτίνα κίνησης στον άξονα x(με συνθήκες θέσης)..

Όσο για το εφεδακι με το tween αυτό είναι πολυ απλό επίσης,απλά πρέπει να εισάγεις αρχικά τις κλάσεις πάνω πάνω στο as panel,
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
και μετά μέσα στα Listeners αντί να αλλάζεις τη θέση του movieclip με συντεταγμένες,τις αλλάζεις με ένα as3 tween..
var toTweenSou:Tween = new Tween(movieClipInstanceName,"x",Strong.easeInOut,thesiEnarksis,thesiPafsis,2,true);
οπου 2 είναι ο χρόνος που διαρκεί η μετάβαση και true οτι αληθεύει πως ο χρόνος αυτός μετράται σε δευτερόλεπτα (οπότε 2 δευτερολεπτα)
Εικόνα
Code is poetry

Άβαταρ μέλους
WardoG
Δημοσιεύσεις: 51
Εγγραφή: 17 Ιαν 2006 02:31
Τοποθεσία: Athens
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από WardoG » 04 Φεβ 2010 11:58

Λοιπόν έχω κάνει το εξής....

Έχω ανοίξει ενα Slide Presentation με Actionscript 2.0 (Γιατί δουλεύω με Behaviors). Καταρχήν είμαι γραφίστας δε γνωρίζω και πολλά απο ActionScript και έχω πρόβλημα με τον προγραμματιστή μου αυτό τον καιρό (λείπει) και το έργο έπρεπε να παραδωθεί προχτές :D. Έχω κάνει λοιπόν το εξής:

Έχω φτιάξει 4-5 Slides. To 1o είναι το root στο οποίο είναι κρεμασμένα όλα τα υπόλοιπα Slides (Σελίδες). Για την ακρίβεια είναι κάπως έτσι το tree:

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

Root
|_blank
|_Ethics
|_TheBottle
|_TheEssence
|_Contact
Το σενάριο έχει ώς εξής:
Ο πελάτης όπως προανέφερα θέλει κατι παρόμοιο με το εφφέ της γραμμής που βλέπετε στο παρακάτω link (μόνο την κίνηση της γραμμής όχι το dropdown,κλπ)
http://www.peninsula.com/Peninsula_Hote ... fault.aspx

Το μενού (Movieclip Buttons με behaviors για rollOver, rollOut, κλπ) βρίσκεται στο Root μέσα σε άλλο movieclip (για λόγους οργάνωσης).

Για να πετύχω λοιπόν το εφφέ με τη γραμμή σκέφτηκα να κάνω το εξής: Έφτιαξα ένα νέο MovieClip όπου έχω βάλει 4 καταστάσεις (frameLabels) όπου δηλώνουν τη θέση της γραμμής για κάθε rollOver στα αντίστοιχα κουμπιά. Μένει λοιπόν να ενεργοποιήσω με action το rollOver κάθε κουμπιού ώστε εκτός απο τις υπάρχουσες καταστάσεις του κουμπιού (over,out μέσα στο Movieclip του κουμπιού) να καλεί και την αντίστοιχη κατάσταση του άλλου MovieClip όπου έχει τη γραμμή. Δηλαδή όταν το κουμπί βρίσκεται στην κατάσταση over (mouseover) να καλεί και απο άλλο movieclip μία άλλη κατάσταση.

Ο κώδικας που έφτιαξα σε κάθε button αλλα μέχρι τώρα παραμένει ανεπιτυχής είναι ο εξής:

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

on (rollOver) {

	this.gotoAndPlay("over");
	_root.Line.gotoAndPlay("s2")

}
Όπου .this εννοείται η κατάσταση over που βρίσκεται μέσα στο κουμπί-Movieclip ΤΟ ΟΠΟΙΟ ΔΟΥΛΕΥΕΙ ΚΑΝΟΝΙΚΑ!!
Όπου Line είναι το instanceName του Movieclip με τις καταστάσεις της γραμμής. Η τιμή s2 δηλώνει την αντίστοιχη θέση της γραμμής όταν κάνουμε mouseover επάνω στο συγκεκριμένο κουμπί. Για το επόμενο κουμπί δηλαδή θα είναι s3. Και όπως καταλάβατε ΔΕ ΔΟΥΛΕΥΕΙ! :D

ΠΡΟΣΟΧΗ
Τον κώδικα τον έχω βάλει κάνοντας κλικ πάνω στο button και ανοίγοντας το ActionPanel. Όχι στο frame του button.

Any Ideas?? :D
Oso Yparxei trapoula, tha vgainoune Rigades!
------------------------------------------------------
Εικόνα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από korgr » 04 Φεβ 2010 12:32

Και εγω αλλα και ο Maradonna σου ειπαμε πως γινεται με actionscript tweens, αλλα δεν βλεπω πουθενα στον κωδικα σου κατι τετοιο...

Άβαταρ μέλους
WardoG
Δημοσιεύσεις: 51
Εγγραφή: 17 Ιαν 2006 02:31
Τοποθεσία: Athens
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από WardoG » 04 Φεβ 2010 12:40

Εγώ είπα εξ αρχής οτι δε γνωρίζω καλή actionscript και δεν είναι το αντικείμενο μου. εσυ επιμένεις για tweens κλπ...
Υπάρχει κάποιος που μπορεί να βοηθήσει στη παρούσα σκέψη?
Oso Yparxei trapoula, tha vgainoune Rigades!
------------------------------------------------------
Εικόνα

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από Garakatsamol » 04 Φεβ 2010 14:12

αν δεν είναι το αντικείμενό σου συνεργάσου με κάποιον που είναι το αντικείμενό του γιατί πρέπει να ξέρεις actionscript για να το κάνεις αυτό που θέλεις.

nkast
Δημοσιεύσεις: 137
Εγγραφή: 15 Νοέμ 2009 20:31
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από nkast » 04 Φεβ 2010 18:23

WardoG έγραψε: Καταρχήν είμαι γραφίστας δε γνωρίζω και πολλά απο ActionScript και έχω πρόβλημα με τον προγραμματιστή μου αυτό τον καιρό (λείπει) και το έργο έπρεπε να παραδωθεί προχτές :D.
Αυτά κάνετε! Αμολάτε τους προγραμματιστές σας, και μετά άντε να μαζευτούν σπίτι. :kaloe:


Δεν θυμάμαι και πολύ καλά AS2, άλλα anyway, δοκίμασε το παρακάτω :
-Κανε ενα movieclip με μια γραμμή να ξεκινά στο χ=0,y=0. Δεν χρειάζεσαι παρά μόνο ένα frame. Ονόμασε το MovieClip 'Line'.
Αυτο το movieclip θα το τοποθετήσεις στο ίδιο movieclip που έχεις και τα buttons. Δώσε instancename 'mcLine'.

Σε κάθε button θα βάλεις:
on(rollOver)
{
import mx.transitions.Tween;
new Tween(_parent.mcLine, "_x", Elastic.easeOut, _parent.mcLine , this._x , 2, true);
}

on (rollOut)
{
import mx.transitions.Tween;
new Tween(_parent.mcLine, "_x", Elastic.easeOut, _parent.mcLine , -1000 , 2, true);
}

Q.E.D.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από korgr » 04 Φεβ 2010 18:34

Καλα ρε παιδια, μονο εγω βλεπω πως το tween εκτος απο _x εχει και _width αναλογα το πλατος της λεξης που θα κατσει?

Άβαταρ μέλους
WardoG
Δημοσιεύσεις: 51
Εγγραφή: 17 Ιαν 2006 02:31
Τοποθεσία: Athens
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από WardoG » 04 Φεβ 2010 19:46

Το έκανα αυτό αλλα δε κάνει κάτι. :( Thnx για την απάντηση πάντως.
Ο korgr πάντως έχει ένα δίκιο γιατί πρέπει η γραμμή να αυξωμειώνεται ανάλογα το μέγεθος των λεξεων-κουμπιών.
Oso Yparxei trapoula, tha vgainoune Rigades!
------------------------------------------------------
Εικόνα

nkast
Δημοσιεύσεις: 137
Εγγραφή: 15 Νοέμ 2009 20:31
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από nkast » 04 Φεβ 2010 20:41

:-? Πρέπει να το δει ΄κάποιος που να ξέρει λιγο AS για να καταλάβει τι γίνεται.
Σου βγάζει καποιο μηνυμα λάθους;


Πάντος στο site που έστειλες το μήκος της γραμμης δεν αλλάζει. Το είχα προσέξει. Είναι πάντα σταθερό , όσο και τα μενου που ανοίγουν απο κάτω.



-edit-
Ναι, έχεις δίκιο, αλλάζει :hammer:

Άβαταρ μέλους
Maradonna
Δημοσιεύσεις: 135
Εγγραφή: 07 Ιουν 2007 03:19
Τοποθεσία: Αθήνα
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από Maradonna » 04 Φεβ 2010 20:56

Μη κολλατε στα απλα...αν θελεις να αποφυγεις το πλατος της γραμμης,απλα παρατηρεις τη λεξη με το μεγαλυτερο μηκος και ρυθμιζεις μια safe διασταση,ετσι η γραμμη σου μπορει να παραμεινει σε σταθερο πλατος που θέλουμε να μεινει.
Τωρα αν θές να αλλάζει,απλα κατεβάζει ο flash programmer το tweenLite ibrary και ρυθμιζει ενα tween με βαση πολλαπλες παραμέτρους μεταξυ αυτών και το width που να προσαρμοζεται αναλογα με το κάθε position και το κουμπι του καθε Position που πηγαινει.

Φυσικα και πρεπει να το δει καποιος που να ξερει as..
Τωρα το αν θα ειναι με a3 η as2 δεν παιζει μεγαλο ρολο μιας που η περιπτωση αυτη δεν προυποθετει κατι extreme απο προγραμματιστικής άποψης..
Εικόνα
Code is poetry

nkast
Δημοσιεύσεις: 137
Εγγραφή: 15 Νοέμ 2009 20:31
Επικοινωνία:

Menu: MovieClip που ακολουθεί το mouse οριζοντίως (_x)

Δημοσίευση από nkast » 04 Φεβ 2010 21:15

Δες τι μπορεις να κανει με αυτο.
Το μέγεθος τις γραμμής αφηνεται σαν ασκηση για το σπίτι...
Συνημμένα
Line.zip
(10.36 KiB) Μεταφορτώθηκε 264 φορές

Απάντηση

Επιστροφή στο “Flash γενικά”

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

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