[AS3] Βοήθεια με dynamic text scroll

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

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

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από Slacker » 30 Δεκ 2008 18:52

Καλησπέρα και χρόνια πολλά,

Έγω φτιάξει ένα αρχείο στο οποίο μέσα σε ένα movieclip υπάρχει ένα dynamic textfield το οποίο φορτώνει κείμενο από ένα XML αρχείο.

Επίσης έφτιαξα ένα custom scrollbar(δεν θέλω το component του flash). Όμως στον κώδικα που χρησιμοποιώ, το max scroll του scrollbar είναι και το μέγεθος του textfield. Δηλαδή όσο μεγαλύτερο είναι το dynamic textfield, τόσο πιο πολύ scroll κάνει η scrollbar.

Όμως αυτό που θέλω να κάνω είναι το max scroll να είναι το μέγεθος του xml κειμένου, το οποίο φορτώνει μέσα στο dynamic textfield.

Καμία ιδέα;

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από HeRu » 31 Δεκ 2008 09:44

Πρέπει να κάνεις το textfield να κάνει wordwrap και autosize. Έτσι το μέγεθος του θα μεγαλώνει ή θα μικραίνει ανάλογα το κείμενο.

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από Slacker » 31 Δεκ 2008 15:41

Ναι, τα έχω και τα δύο στο true; αλλά δεν λειτουργεί. Κάνει παραπάνω scroll απ'ότι θα έπρεπε.
Να ο κώδικας:

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

main_mc.main_txt.wordWrap = true;
main_mc.main_txt.autoSize = true;

//scrolling
scrolling = function () {
	var scrollHeight:Number = scroll_bar._height;
	var scroll_draggerHeight:Number = scroll_dragger._height;
	var maskHeight:Number = main_mc.mask_mc._height;
	var initPosition:Number = scroll_dragger._y=scroll_bar._y;
	var initContentPos:Number = main_mc.main_txt._y;
	var finalContentPos:Number = maskHeight+initContentPos;
	var left:Number = scroll_bar._x;
	var top:Number = scroll_bar._y;
	var right:Number = scroll_bar._x;
	var bottom:Number = scroll_bar._height-scroll_draggerHeight+scroll_bar._y;
	var dy:Number = 0;
	var speed:Number = 10;
	var moveVal:Number = (maskHeight)/(scrollHeight-scroll_draggerHeight);
	
	scroll_dragger.onPress = function() {
		var currPos:Number = this._y;
		startDrag(this, false, left, top, right, bottom);
		this.onMouseMove = function() {
			dy = Math.abs(initPosition-this._y);
			main_mc.main_txt._y = Math.round(dy*-1*moveVal+initContentPos);
		};
	};
	scroll_dragger.onMouseUp = function() {
		stopDrag();
		delete this.onMouseMove;
	};
};
scrolling();
//scrolling




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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από HeRu » 31 Δεκ 2008 16:31

Το autoSize μου φαίνεται θέλει direction( left, center, right ) δες τα help.

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

main_mc.main_txt.autoSize = "center"; 

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από Slacker » 31 Δεκ 2008 17:23

Έχω κοιτάξει τα help. Όχι το "center" δεν λύνει το πρόβλημα.

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από HeRu » 31 Δεκ 2008 19:01

Βάλε μερικά trace( ) σε κάποια σημεία.

π.χ.
Πριν και μετά που βάζεις το κείμενο δες αν αλλάζει το height.

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

trace( main_mc.main_txt._height );
Επίσης αν αλλάζει κάτι όταν κάνεις drag.

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

trace( dy );
κλπ.

Προσπάθησε δηλαδή να περιορίσεις που ακριβός είναι το πρόβλημα. Τι δεν δουλεύει σωστά.

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από Slacker » 31 Δεκ 2008 19:39

Στο

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

trace( dy );
μου βγάζει undefined.

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από HeRu » 31 Δεκ 2008 20:14

Tote exeis 8ema me to scope. Ta variables mesa sto onPress einai local tou scroll_dragger opote kena. 8a prepei h me to "_root" h pio swsta me "this._parent._parent....dy"(osa _parent xreiazete ) na kaneis access ta vars. Episis bgale ta vars mesa apo to function.

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

[AS3] Βοήθεια με dynamic text scroll

Δημοσίευση από Slacker » 31 Δεκ 2008 20:32

Προσπάθησα αλλά δεν κατάφερα κάτι. Ίσως να μην κατάλαβα και καλά. Μήπως σου είναι εύκολο να γράψεις τον κώδικα για να δω αν θα λειτουργήσει;

Απάντηση

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

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

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