Flash drag and drop problem

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

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

Απάντηση
Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Flash drag and drop problem

Δημοσίευση από Basilakis » 06 Μάιος 2007 12:55

Ξεκίνησα τώρα να παίζω λίγο με το flash, και αφού βρήκα - επεξεργάστηκα ένα dragndrop αρχείο έφτιαξα κάτι. Anyway όταν΄πάω να προσφέσω τον κώδικα και για δεύτερο αντικείμενο, μου δουλεύει το πρώτο αλλά δεν δουλεύει το δεύτερο. Η action script:

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

onMouseMove = function () {
	updateAfterEvent();
}

Adrag.onPress = function() {
	startDrag(Adrag, true, 100, 75, 450, 325);
}
Adrag.onRelease = function() {
	this.stopDrag();
	checkTarget(this);
}

Adrag.onReleaseOutside = function() {
	this.stopDrag();
	checkTarget(this);
}
function checkTarget(drag) {	
	if (drag.hitTest(Adrop)) {
		feedback.text="Well done!";
	} else {
		feedback.text="Missed";
    }
}
Bdrag.onPress = function() {
	startDrag(Bdrag, true, 100, 75, 450, 325);
}
Bdrag.onRelease = function() {
	this.stopDrag();
	checkTarget(this);
}

Bdrag.onReleaseOutside = function() {
	this.stopDrag();
	checkTarget(this);
}
function checkTarget(drag) {	
	if (drag.hitTest(Bdrop)) {
		feedback.text="Well done!";
	} else {
		feedback.text="Missed";
    }
}
Τώρα μου δόυλεύει για το αντικείμενο B χωρίς να δουλεύευ το Α. Ενα το σβήσω το B μου δουλεύει για το A.

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

Flash drag and drop problem

Δημοσίευση από HeRu » 07 Μάιος 2007 16:08

Το πρόβλημα είναι ότι ορίζεις δυο φορές την checkTarget function. Όποτε δουλεύει μόνο η μια από τις δυο. Σαν προσωρινή λύση θα μπορούσες να δοκιμάσεις να περνάς σαν παράμετρο και το target π.χ.

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

onMouseMove = function () {
	updateAfterEvent();
}

Adrag.onPress = function() {
	startDrag(Adrag, true, 100, 75, 450, 325);
}
Adrag.onRelease = Adrag.onReleaseOutside = function() {
	this.stopDrag();
	checkTarget(this, Adrop);
}

Bdrag.onPress = function() {
	startDrag(Bdrag, true, 100, 75, 450, 325);
}
Bdrag.onRelease = Bdrag.onReleaseOutside = function() {
	this.stopDrag();
	checkTarget(this, Bdrop);
}
function checkTarget(drag, drop) {	
	if (drag.hitTest(drop)) {
		feedback.text="Well done!";
	} else {
		feedback.text="Missed";
    }
}

Απάντηση

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

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

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