attachMovie ή duplicate;

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

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

Απάντηση
Punkhit
Δημοσιεύσεις: 3
Εγγραφή: 17 Ιουν 2004 13:37
Τοποθεσία: ATHENS

attachMovie ή duplicate;

Δημοσίευση από Punkhit » 17 Ιουν 2004 13:53

πως μπορώ ακουμπώντας τον δείκτη του ποντικιού στην σκηνή, να παίζει στην θέση που είναι ο δείκτης ένα movie clip, μετά αλλάζοντας θέση στον δείκτη να παίζει το ίδιο movie clip στην νέα θέση αλλά χωρίς να σταματά να παίζει στην προηγούμενη θέση;και αυτό να επαναλαμβάνεται σε όποιο σημείο της σκήνης βάζω τον δείκτη, χρησιμοποιώ την attachMovie ή την duplicate;

spookyb52
Δημοσιεύσεις: 1891
Εγγραφή: 23 Ιαν 2002 01:00
Τοποθεσία: Lost in the mansion
Επικοινωνία:

attachMovie ή duplicate;

Δημοσίευση από spookyb52 » 17 Ιουν 2004 14:26

Η attach χρησιμεύει για να τοποθετείς από την library τα clips στη σκηνή ενώ η duplicate δημιουργεί αντίγραφα από ένα clip που βρίσκεται ήδη στη σκηνή. Δέν έχω χρόνο να πώ αυτή τη στιγμή περισσότερα. Ίσως το απόγευμα - βράδυ άν δέν έχεις πάρει απάντηση βέβαια :wink:

Με duplicate κάνε το. Αλλά ξέρεις πώς να τις χρησιμοποιείς?

Επιπλέον δώσε καλύτερη περιγραφή άν μπορείς. Η νέα θέση θα είναι όταν ξαναπατηθεί το ποντίκι?
Life is like a fast car on an icy road. Brakes don't work, yes I know it, but I step on the gas
Garage punk | Rockabilly | Rock 'n' Roll | Stoner

Punkhit
Δημοσιεύσεις: 3
Εγγραφή: 17 Ιουν 2004 13:37
Τοποθεσία: ATHENS

attachMovie ή duplicate;

Δημοσίευση από Punkhit » 17 Ιουν 2004 14:43

spookyb52 έγραψε:Η attach χρησιμεύει για να τοποθετείς από την library τα clips στη σκηνή ενώ η duplicate δημιουργεί αντίγραφα από ένα clip που βρίσκεται ήδη στη σκηνή. Δέν έχω χρόνο να πώ αυτή τη στιγμή περισσότερα. Ίσως το απόγευμα - βράδυ άν δέν έχεις πάρει απάντηση βέβαια :wink:

Με duplicate κάνε το. Αλλά ξέρεις πώς να τις χρησιμοποιείς?

Επιπλέον δώσε καλύτερη περιγραφή άν μπορείς. Η νέα θέση θα είναι όταν ξαναπατηθεί το ποντίκι?
όχι αν ξαναπατηθεί, απλως αν αλλάξει θέση στην σκηνή

spookyb52
Δημοσιεύσεις: 1891
Εγγραφή: 23 Ιαν 2002 01:00
Τοποθεσία: Lost in the mansion
Επικοινωνία:

attachMovie ή duplicate;

Δημοσίευση από spookyb52 » 17 Ιουν 2004 16:13

Μιας και κράτησα σημειώσεις πολύ πιό γρήγορα από ότι περίμενα επανέρχομαι :p

Βάλε σε ένα keyframe τον παρακάτω κώδικα

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

// Δημιουργούμε ένα empty clip με instance name clipit
// και σχεδιάζουμε ένα τετράπλευρο
createEmptyMovieClip("clipit", 0);
with (clipit) {
	colors = [0xff000, 0x336699];
	alphas = [100, 100];
	ratios = [20, 255];
	matrix = {matrixType:"box", x:-50, y:-60, w:200, h:200, r:45};
	beginGradientFill("linear", colors, alphas, ratios, matrix);
	moveTo(-50, -60);
	lineTo(50, -60);
	lineTo(50, 60);
	lineTo(-50, 60);
	lineTo(-50, -60);
	_y = 11111;
}
//--------MAIN CODE-------------
// θέτουμε μια μεταβλητή με ονομασία i και τιμή 0
i = 0;
// και άλλη μια την startDrawing με τιμή false
startDrawing = false;
// Όταν πατηθεί το mouse η startDrawing παίρνει τιμή true
onMouseDown = function () {
	startDrawing = true;
};
//------
onMouseMove = function () {
	// Άν η μεταβλητή startDrawing έχει την τιμή true τότε μπορούν να εκτελεστούν οι υπόλοιπες ενέργειες
	if (startDrawing == true) {
		// -----ενέργειες : Αρχή------
		// Κάθε φορά που μετακινείτε το Mouse :
		// αύξησε κατά 1 την τιμή της μεταβλητής i
		++i;
		// Δημιούργησε ένα αντίγραφο του clipit με ονομασία "clipit"+i
		// και τοποθέτησέ το σε βάθος ίσο με i
		// πχ για i = 2 το νεό clip θα έχει ονομασία clipit2 και βάθος 2
		duplicateMovieClip("clipit", "clipit"+i, i);
		// κάθε ένα από τα νέα clips παίρνουν την τρέχουσα θέση του ποντικιού και
		// παραμένουν εκεί μετά την μετακίνηση του
		with (_root["clipit"+i]) {
			_x = _root._xmouse;
			_y = _root._ymouse;
		}
		// -----ενέργειες : Τέλος------
	}
};
Δέν ξέρω πώς και τί θές να φτιάξεις αλλά με το παραπάνω μπορείς να πάρεις μια ιδέα
Life is like a fast car on an icy road. Brakes don't work, yes I know it, but I step on the gas
Garage punk | Rockabilly | Rock 'n' Roll | Stoner

Punkhit
Δημοσιεύσεις: 3
Εγγραφή: 17 Ιουν 2004 13:37
Τοποθεσία: ATHENS

attachMovie ή duplicate;

Δημοσίευση από Punkhit » 17 Ιουν 2004 18:52

Ευχαριστώ πολυ για τον κώδικα. Αλλα αυτό που θέλω είναι να μην παραμένει το Movie clip μόνιμα αλλά να για λίγο. Η αλήθεια είναι οτι δεν μπορώ να στο περιγράψω καλύτερα. Αν θες πήγαινε στο www.larrycarlson.com και στο new flash movies στο Amazing nights. Kάτι τέτοιο θέλω. Ευχαριστώ πολυ για τον χρόνο που διάθεσες

spookyb52
Δημοσιεύσεις: 1891
Εγγραφή: 23 Ιαν 2002 01:00
Τοποθεσία: Lost in the mansion
Επικοινωνία:

attachMovie ή duplicate;

Δημοσίευση από spookyb52 » 17 Ιουν 2004 19:36

ο κώδικας που χρησιμοποιεί μπορεί να μοιάζει με τον παρακάτω

Βάλτον σε ένα keyframe και πάλι

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

createEmptyMovieClip("clipit", 0);
with (clipit) {
	beginFill(0x336699);
	moveTo(-50, -60);
	lineTo(50, -60);
	lineTo(50, 60);
	lineTo(-50, 60);
	lineTo(-50, -60);
}
i = 0;
onMouseDown = function () {
	++i;
	duplicateMovieClip("clipit", "clipit"+i, i);
	with (_root["clipit"+i]) {
		_x = _root._xmouse;
		_y = _root._ymouse;
	}
};
//------ 
onEnterFrame = function () {
	with (clipit) {
		_x += (_root._xmouse-_x)/2;
		_y += (_root._ymouse-_y)/2;
	}
};
αλλά μέχρι να τελειώσει η εξεταστική δέν μπορώ να κάνω περισσότερα για να βοηθήσω :-?

Απλά μπορεί να κάνει fade out το clip και μετά να το κάνει remove
Life is like a fast car on an icy road. Brakes don't work, yes I know it, but I step on the gas
Garage punk | Rockabilly | Rock 'n' Roll | Stoner

Άβαταρ μέλους
HoMESICk_ALIEN
Δημοσιεύσεις: 77
Εγγραφή: 27 Μαρ 2004 16:24

attachMovie ή duplicate;

Δημοσίευση από HoMESICk_ALIEN » 17 Ιουν 2004 21:01

Είναι αρκετά πολύ πολύπλοκο αυτό που κάνει ο τύπος εκεί. Σαν μια καλή αρχή, θα σου πρότεινα να διαβάσεις τα μερικά tutorials για elasticity.

Κάτι πολύ πρόχειρο που άλλαξα στον κώδικα του spookyb52:

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

createEmptyMovieClip("clipit", 0);
with (clipit) {
	beginFill(0x336699);
	moveTo(-50, -60);
	lineTo(50, -60);
	lineTo(50, 60);
	lineTo(-50, 60);
	lineTo(-50, -60);
}
onLoad = function () {
	k = .2;
	damp = .9;
};
onEnterFrame = function () {
	ax = (_root._xmouse - _x) * k;
	ay = (_root._ymouse - _y) * k;
	vx += ax;
	vy += ay;
	vx *= damp;
	vy *= damp;
	_x += vx;
	_y += vy;
};

Απάντηση

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

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

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