Δώστε κίνηση σε ένα movie clip!

Ρουτίνες και scripts που έχουμε φτιάξει σε ActionScript και θέλουμε να τις μοιραστούμε

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

Απάντηση
Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από p_pan » 25 Απρ 2008 06:11

Φτιάχνουμε ένα σχήμα και το κάνουμε movie clip επιλέγοντας το και πιέζοντας F8!
Δεξί κλικ επάνω στο movie clip μας και κάνουμε κλικ στο Actions.
Γράφουμε τον παρακάτω κώδικα:

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

onClipEvent(load){
	moveSpeed=10;
}
onClipEvent(enterFrame){
	if(Key.isDown(Key.RIGHT)){
		this._x+=moveSpeed;
	}else if(Key.isDown(Key.LEFT)){
		this._x-=moveSpeed;
	}
	if(Key.isDown(Key.DOWN)){
		this._y+=moveSpeed;
	}else if(Key.isDown(Key.UP)){
		this._y-=moveSpeed;
	}
}
...και ΕΤΟΙΜΟ!





Προσοχή:

Στον X άξονα όταν το σχήμα πηγαίνει δεξιά προσθέτει ενώ όταν πηγαίνει αριστερά αφαιρεί. Στον Υ άξονα όταν πάει προς τα επάνω αφαιρεί και όταν πάει προς τα κάτω προσθέτει. Ακόμα αν θέλετε μπορείτε να αλλάξετε την ταχύτητα που θα κινείτε αλλάζοντας το νούμερο στην μεταβλητή όπου έχουμε δηλώσει στην αρχή με όνομα moveSpeed.
Συνημμένα

pliktra.swf [ 275 Ψηφιολέξεις | Προβλήθηκε 51009 φορές ]

pliktra.rar
(5.49 KiB) Μεταφορτώθηκε 633 φορές
Αγράματος...

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

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από HeRu » 25 Απρ 2008 13:56

Μπορείς να δοκιμάσεις και το ακόλουθο :)

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

onClipEvent( load )
{
	moveSpeedΧ = 0;
	moveSpeedY = 0;
}
onClipEvent( enterFrame )
{
	if(Key.isDown(Key.RIGHT)) moveSpeedΧ += 5;
	if(Key.isDown(Key.LEFT)) moveSpeedΧ -= 5;
	
	if(Key.isDown(Key.DOWN)) moveSpeedY += 5;
	if(Key.isDown(Key.UP)) moveSpeedY -= 5;
	
	moveSpeedΧ *= 0.8;
	moveSpeedY *= 0.8;
	
	_x += moveSpeedΧ
	_y += moveSpeedY
}
Συνημμένα

MoveDelay.swf [ 286 Ψηφιολέξεις | Προβλήθηκε 50979 φορές ]


Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από p_pan » 26 Απρ 2008 00:22

polu kalo mprabo
mipos jereis pos mporo na ariso oria stin kinisi tou??
dld na tou leo mesa apo ton kodika mexri pou na pigainei.... san na to exo se ena kouti mesa na min pigainei apira dejia apira aristera... kai outo ka8e ejis...
Αγράματος...

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

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από HeRu » 26 Απρ 2008 08:57

Ένας πολύ απλός τρόπος είναι με τα Math.min και Math.max

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

onClipEvent( load )
{
	moveSpeedΧ = 0;
	moveSpeedY = 0;
	// Miso platos kai ypsos
	halfWidth = _width / 2;
	halfHeight = _height / 2;
	// Oria
	maxX = 425 - halfWidth;
	minX = 125 + halfWidth;
	maxY = 325 - halfHeight;
	minY = 75 + halfHeight;
}
onClipEvent( enterFrame )
{
	if(Key.isDown(Key.RIGHT)) moveSpeedΧ += 5;
	if(Key.isDown(Key.LEFT)) moveSpeedΧ -= 5;
	
	if(Key.isDown(Key.DOWN)) moveSpeedY += 5;
	if(Key.isDown(Key.UP)) moveSpeedY -= 5;
	
	moveSpeedΧ *= 0.8;
	moveSpeedY *= 0.8;

	_x = Math.min( maxX, Math.max( minX, ( moveSpeedΧ + _x ) ) );
	_y = Math.min( maxY, Math.max( minY, ( moveSpeedY + _y ) ) );
}
Τα halfWidth και halfHeight χρησιμοποιούνται για να αφαιρέσεις τις διαστάσεις του αντικειμένου από τα όρια και θα πρεπει το registration point να είναι στο κέντρο.
Συνημμένα

MoveDelay.swf [ 476 Ψηφιολέξεις | Προβλήθηκε 50944 φορές ]

MoveDelay.zip
Source
(4.82 KiB) Μεταφορτώθηκε 709 φορές

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από LightForce » 27 Απρ 2008 01:26

πολύ ωραία παιδιά, να και ένα τρελομπαλάκι (flash mx, actionscript 1, size 200x200)
στα actions ενός clip:

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

onClipEvent (enterFrame) {	
max = 20;
r = random(max);
if (r == 1) {
	xs = random(max) - max/2;
}
if (r == 2) {
	ys = random(max) - max/2;
}
if (this._x >= 190) {
	xs = -Math.abs(xs);
}
if &#40;this._x <= 10&#41; &#123;
	xs = Math.abs&#40;xs&#41;;
&#125;
if &#40;this._y >= 190&#41; &#123;
	ys = -Math.abs&#40;ys&#41;;
&#125;
if &#40;this._y <= 10&#41; &#123;
	ys = Math.abs&#40;ys&#41;;
&#125;
xs = xs * .9;
ys = ys * .9;
this._x += xs;
this._y += ys;
&#125;

Δοκιμάστε πολλά clip σε διάφορα σχήματα και χρώματα :idea:

Tasos-21

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από Tasos-21 » 29 Ιουν 2008 18:37

Γιατί να μην το κάνουμε tutorial;

malos
Δημοσιεύσεις: 11
Εγγραφή: 10 Νοέμ 2008 21:01

Δώστε κίνηση σε ένα movie clip!

Δημοσίευση από malos » 10 Νοέμ 2008 22:35

Πολύ ωραία παιδιά !!! :kaloe:

@p_pan
στο scriptάκι σου προσπαθώ να προσθέσω :
Αν το movieclip πάει σε συγκεκριμένη θέση να βγάλει έναν ήχο.

Σκέφτηκα να το κάνω με δημιουργία άλλων 2 keyframes μετά το πρώτο.
Στο δεύτερο να βάλω stop() και στο τρίτο τον ήχο.

Στο script τι να βάλω; Προσπάθησα με if(x=400 and y=20) {gotoAndplay(3) }

Είμαι τραγικά μακριά ε;

(Ασχολούμαι 2 εβδομάδες μόνο :oops: )
Τα σέβη μου.

Απάντηση

Επιστροφή στο “Flash τα δικά μας scripts”

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

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