Photo slide...

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

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

Απάντηση
stefanos4
Δημοσιεύσεις: 71
Εγγραφή: 10 Μάιος 2007 13:57

Photo slide...

Δημοσίευση από stefanos4 » 21 Ιουν 2007 13:30

Σε αυτο που θελω βοηθεια ειναι το εξης :

Εχουμε φωτογραφιες οι οποιες κανουν μονες τους οριζοντιο sliding.Φανταστειτε 10 διαφορετικες φωτο οι οποιες η καθεμια δειχνει κατι διαφορετικο. Αυτο προφανως θα γινεται με ενα λουπ για να ξεκιανει απο την αρχη. Οταν ο χρηστης πηγαινει πανω σε μια απο αυτες τις φωτο το αυτοματο περασμα των φωτο σταματαει και οταν πατησει μια φωτο σε πηγαινει στη σελιδα που περιγραφει η φωτο.Εαν ο χρηστης βγαλει το ποντικι απο τη φωτο χωρις να τη πατησει τοτε η παρουσιαση συνεχιζει απο εκει που ειχε σταματησει. Ελπιζω να εγινα κατανοητος και περιμενω τη βοηθεια σας.
Σας ευχαριστω πολυ.


stefanos4
Δημοσιεύσεις: 71
Εγγραφή: 10 Μάιος 2007 13:57

Photo slide...

Δημοσίευση από stefanos4 » 04 Ιούλ 2007 16:14

File chchris se euxaristo gia thn apantisi, alla to xo prospathisei kai den katafera kai polla. Mipos iparxei kati pou na sou leei pos ginetai auto vima pros vima???

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

Photo slide...

Δημοσίευση από Garakatsamol » 06 Ιούλ 2007 18:30

Γειά χαρά

Πρώτα πρέπει να κάνεις ένα mc που θα περιέχει το sequence που θες να κάνει loop.
Στο παράδειγμα το κλιπ μου θα μετακινείται στον άξονα Υ.

Αν πχ θέλεις να έχεις φοτος στο mc θα βάλεις τη μια φοτό κάτω από την άλλη και όλες μαζί θα τις κάνεις symbol, θα το βάλεις στο stage και θα του δώσεις ένα instance name (εδώ news) . Αν θές κάθε εικόνα να είναι λινκ για κάτι άλλο τότε τις κάνεις buttons ή movie clips.
Στη συνέχεια κάνεις ένα mask layer, κάνεις ένα παραλληλόγραμμο, το κάνεις movie clip symbol και του δίνεις instance name (εδώ mask) ωστε να ορίσεις το ορατό μέρος του κλίπ.

Γράφουμε και λίγο κώδικα:

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

var inity = this.news._y;
var finy = this.mask._y-this.news._height; 
_global.rolling = false;
this.mask.onRollOver = function() {
	_global.rolling = true;
};
this.mask.onRollOut = function() {
	_global.rolling = false;
};

onEnterFrame = function () {
	if (rolling == false) {
		if (this.news._y>finy) {
			this.news._y -= 1;
		} else {
			this.news._y = inity;
		}
	}
};
Αυτό που έχω κάνει με λίγα λόγια είνα το εξής:
Καθορίζω αρχικές και τελικές τιμές για το Υ.
Καθορίζω μια μεταβλητή (rolling) που θα καθορίζει άν το ποντίκι είναι πάνω από τη μάσκα.
Με το ρολόβερ γίνεται true και με το rollout γινεται false.
Μετά βάζω ένα onEnterFrame ατο οποίο γίνεται το εξής:
αν η rolling ειναι false δηλαδή το mouse είναι εκτός της μάσκας τοτέ
ελέγχει αν το ύψος του κλίπ έχει ξεπεράσει το ύψος της μάσκας.
Αν όχι τότε μειώνει το _y του κατά 1 (μπορείς να βάλεις ότι τιμή θες, ανάλογα με την επιθυμητή ταχύτητα)
Αν ναι τότε το επαναφέρει στην αρχική του τιμή για να ξαναξεκινήσει το κλιπ.

ελπίζω να γίνομαι κατανοητός. Δεν ειμαι και πολύ καλός στο να εξηγώ
Αυτός ο τρόπος έχει κάποια μειονεκτήματα όπως παρουσιάζεται εδώ (πχ υπάρχει ένα κενό μεταξύ δυο loop) αλλά μπορείς να πειραματιστείς.

Ελπίζω να βοήθησα

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

Photo slide...

Δημοσίευση από Garakatsamol » 06 Ιούλ 2007 18:40

τώρα που το σκέφτομαι αν θέλεις να έχεις και λινκ σε κάθε φοτo θα έχεις πρόβλημα γιατί θα έχεις button μέσα σε button. Για να το αποφύγεις αυτό στον κώδικα που σου έδωσα θα πρέπει να ορίσεις το rollover και rollout με hit test. ψαξου λίγο πως γίνεται, κοίτα κι εδώ
http://www.senocular.com/flash/tutorial ... capturing/, δυστυχώς δεν έχω πολύ χρόνο αυτή τη στιγμή

stefanos4
Δημοσιεύσεις: 71
Εγγραφή: 10 Μάιος 2007 13:57

Photo slide...

Δημοσίευση από stefanos4 » 11 Ιούλ 2007 15:18

Na sai kala file me voithises poli. Se euaristo.

Απάντηση

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

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

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