[AS2] Πρόβλημα με MouseWheel.

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

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

Απάντηση
Slacker
Δημοσιεύσεις: 19
Εγγραφή: 26 Νοέμ 2007 18:39

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από Slacker » 15 Φεβ 2008 14:10

Καλησπέρα,

Έχω ένα πρόβλημα με έναν mouseWheel κώδικα.
Στο stage,έχω ένα movieClip το οποίο έχω ονομάσει myMC και μέσα σε αυτό υπάρχουν διάφορα dynamic textfields όπου το text τους είναι xml driven.Ένα από αυτα τα dynamic textfields(content_txt) θέλω να έχει την δυνατότητα του mouseWheel οπότε γράφω αυτόν τον κώδικα:

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

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
	myMC.content_txt._y += delta;
}

Mouse.addListener(mouseListener);
Όταν κάνω scroll με το mouse,δουλεύει κανονικά ο κώδικας,μόνο που δεν σταματάει ποτέ,παρόλλο που το text φτάνει στο τέλος του.Πώς μπορώ να σταματήσω το mouseWheel όταν σταματάει και το text του συγκεκριμένου dynamic textfield?

Ευχαριστώ :hammer:

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

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από HeRu » 15 Φεβ 2008 14:56

Πρέπει να ελέγχεις την τιμή του Υ να μην περάσει κάποια όρια. Υπάρχουν πολλοί τρόποι, εύκολοι και δύσκολοι, να το κάνεις.

Μια απλή υλοποίηση είναι με τα Math.min και Math.max. Όπου γράφεις:

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

Math.max( Math.min( τιμή, πάνω όριο), κάτω όριο )
π.χ.

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

mouseListener.onMouseWheel = function(delta) {
   myMC.content_txt._y = Math.min( Math.max( (myMC.content_txt._y + delta), 600 ), 0 )
}

Slacker
Δημοσιεύσεις: 19
Εγγραφή: 26 Νοέμ 2007 18:39

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από Slacker » 15 Φεβ 2008 15:18

Tώρα έχει ένα άλλο πρόβλημα.
Κάνοντας scrollUp: το κείμενο κατεβαίνει προς τα κάτω,αντί για προς τα πάνω.
Εγώ θέλω κάνοντας scrollDown το κείμενο να ανεβαίνει προς τα πάνω.

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

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από HeRu » 15 Φεβ 2008 16:21

Δοκίμασε να βάλεις ένα "-" στο delta.

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

mouseListener.onMouseWheel = function(delta) {
   myMC.content_txt._y = Math.min( Math.max( (myMC.content_txt._y + -delta), 600 ), 0 )
}

Slacker
Δημοσιεύσεις: 19
Εγγραφή: 26 Νοέμ 2007 18:39

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από Slacker » 15 Φεβ 2008 16:28

Ωραία,τώρα κάνοντας scroll down,δουλεύει σωστά το mouseWheel,όμως το text ακόμη πάει προς τα κάτω αντί για πάνω :P

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

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από HeRu » 15 Φεβ 2008 16:42

Εμ...Τώρα πρόσεξα ότι το text σου είναι dynamic.

Νομίζω ότι το flash κάνει αυτόματα scroll στα textfields. Οπότε μπορεί να το διπλοscrollaρεις.

Ίσως να ήταν καλύτερο να δοκιμάσεις κάποιο component, όπως το TextArea, αντί να βάλεις δικές σου εντολές για scroll.

Slacker
Δημοσιεύσεις: 19
Εγγραφή: 26 Νοέμ 2007 18:39

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από Slacker » 15 Φεβ 2008 16:47

Δεν θέλω να έχω textarea component στο project μου.Επίσης το text είναι xml driven.
Σε ευχαριστώ πάντως ;)

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

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από HeRu » 15 Φεβ 2008 16:52

Δοκίμασε το textfield να το βάλεις στο μέγεθος που θέλεις να είναι στην οθονη και να χρησιμοποιησεις το wheel χωρίς extra κώδικα.

Εδώ που το δοκιμάζω scrollαρι κανονικά από μόνο του.

Slacker
Δημοσιεύσεις: 19
Εγγραφή: 26 Νοέμ 2007 18:39

[AS2] Πρόβλημα με MouseWheel.

Δημοσίευση από Slacker » 15 Φεβ 2008 17:33

Δεν σε κατάλαβα,πώς θα το κάνω αυτό;

Απάντηση

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

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

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