Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-02-2006, 12:32   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 100
Löschen von einer Funktion

Hallo,
habe mir eine Art drag & drop gebastelt, das geht auch so weit ganz gut, aber wenn den MC auf eine Stelle gezogen habe, dann wollte ich das ich, dass ich den auch nicht wieder anklicken kann habe mir folgendes dazu in AS ausgedacht, nur es funktioniert nicht ganz so wie es möchte, habe sicherlich einen Denkfehler drin
Hier der AS :
Code:
onClipEvent (mouseDown) {
	if (hitTest(_root._xmouse, _root._ymouse, false)) {
		var quellx = 442.5;
		var quelly = 350;
		var quellb = 111.7;
		var quellh = 47.9;
		var umbereich = 40;
		var zielobjekt = _parent.end_zahl_1;
		var antwortnummer = 0;
		_parent.lastDDobjekt = this;
		var zielx = zielobjekt._x;
		var ziely = zielobjekt._y;
		var zielb = zielobjekt._width;
		var zielh = zielobjekt._height;
		var landismove = true;
		var thisobj = this;
		thisobj.startDrag(true, 100, 100, 500, 400);
		Mouse.hide();
	}
}
onClipEvent (mouseUp) {
	landismove = false;
	thisobj.stopDrag();
	Mouse.show();
	if ((zielx-umbereich<thisobj._x) and (thisobj._x<zielx+umbereich) and (ziely-umbereich<thisobj._y) and (thisobj._y<ziely+umbereich)) {
		_root.antworten[antwortnummer] = 1;
		thisobj._x = zielx;
		thisobj._y = ziely;
		zielobjekt._alpha = 0;
		thisobj._alpha = 100;
		delete this.onEnterFrame;  <-- hier soll der Code rein
		trace("1");
	} else {
		_root.antworten[antwortnummer] = 2;
		thisobj._x = quellx;
		thisobj._y = quelly;
		thisobj._alpha = 100;
		thisobj._width = quellb;
		thisobj._height = quellh;
		zielobjekt._alpha = 100;
		trace("2");
	}
}
Bei der IF Anweisung = "1" sollte mn ihn nicht wieder anklicken können.
Stehe im Moment auf dem Schlach.

Wäre für Hilfe dankbar .

Grüße
ava98

Geändert von ava98 (23-02-2006 um 12:39 Uhr)
ava98 ist offline   Mit Zitat antworten
Alt 23-02-2006, 23:03   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Meinst du so etwas:
ActionScript:
  1. var thisobj = this;
  2. if(_root.antworten[antwortnummer] == 1){
  3.    thisobj.startDrag(true, 100, 100, 500, 400);
  4. }

Normalerweise wäre auch ein onPress-/onRelease-Event besser, dann könntest du dir die hitTest-Überprüfung sparen, da du dann ja eindeutig auf dem Objekt wärst...
  Mit Zitat antworten
Alt 27-02-2006, 08:02   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 100
Hallo
danke für deine schnelle Antwort, die Drag Funktion geht nur sie sollte bei antworten = 1 gestoppt werden und die on(press) - Function gelöscht werden
Code:
on (press) {
	if (hitTest(_root._xmouse, _root._ymouse, false)) {
		var quellx = 442.5;
		var quelly = 350;
		var quellb = 111.7;
		var quellh = 47.9;
		var umbereich = 40;
		var zielobjekt = _parent.end_zahl_1;
		var antwortnummer = 0;
		_parent.lastDDobjekt = this;
		var zielx = zielobjekt._x;
		var ziely = zielobjekt._y;
		var zielb = zielobjekt._width;
		var zielh = zielobjekt._height;
		var landismove = true;
		var thisobj = this;
		thisobj.startDrag(true, 100, 100, 600, 500);
		Mouse.hide();
	}
}
Wie kann diese FUnction "löschen"
bei antworten = 1

Wäre für Hilfe dankbar

Grüße
ava98
ava98 ist offline   Mit Zitat antworten
Alt 27-02-2006, 08:41   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wo steht denn die Abfrage, bzw. die Variable "antworten"?
  Mit Zitat antworten
Alt 27-02-2006, 09:10   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 100
Hallo,
danke für die schnelle Antorten
die var antworten steht in der IF-Anweisung, hier der ganze Code von dem MC

Code:
on (press) {
	if (hitTest(_root._xmouse, _root._ymouse, false)) {
		var quellx = 442.5;
		var quelly = 350;
		var quellb = 111.7;
		var quellh = 47.9;
		var umbereich = 40;
		var zielobjekt = _parent.end_zahl_1;
		var antwortnummer = 0;
		_parent.lastDDobjekt = this;
		var zielx = zielobjekt._x;
		var ziely = zielobjekt._y;
		var zielb = zielobjekt._width;
		var zielh = zielobjekt._height;
		var landismove = true;
		var thisobj = this;
		thisobj.startDrag(true, 100, 100, 600, 500);
		Mouse.hide();
	}
}
on (release){
	landismove = false;
	thisobj.stopDrag();
	Mouse.show();
	if ((zielx-umbereich<thisobj._x) and (thisobj._x<zielx+umbereich) and (ziely-umbereich<thisobj._y) and (thisobj._y<ziely+umbereich)) {
		_root.antworten[antwortnummer] = 1;
		thisobj._x = zielx;
		thisobj._y = ziely;
		zielobjekt._alpha = 0;
		thisobj._alpha = 100;
		trace("1");
		thisobj.stopDrag(true);
                
		
	} else {
		_root.antworten[antwortnummer] = 2;
		thisobj._x = quellx;
		thisobj._y = quelly;
		thisobj._alpha = 100;
		thisobj._width = quellb;
		thisobj._height = quellh;
		zielobjekt._alpha = 100;
		trace("2");
	}
}
Danke für die Hilfe

Grüße
ava98
ava98 ist offline   Mit Zitat antworten
Alt 27-02-2006, 10:37   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das einfachste wäre wohl, den MC zu sperren, dann musst du auch nicht die Events löschen/neu erstellen:
PHP-Code:
if ((zielx-umbereich<thisobj._x) and (thisobj._x<zielx+umbereich) and (ziely-umbereich<thisobj._y) and (thisobj._y<ziely+umbereich)) {
        
_root.antworten[antwortnummer] = 1;
   
this.enabled false;//sperren 
  Mit Zitat antworten
Alt 27-02-2006, 10:58   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 100
Hallo,

vielen Dank das war es

Grüße
ava98
ava98 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele