Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2006, 15:23   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
kann das sein dass der was überspringt???

also wenn ich den roten teil des codes ausprobiere dann funktioniert das einwandfrei, aber wenn ich den grünen auch noch mit reinschreibe, dann überspringt der einfach den hitTest von neutron_2 mit uran_hilfe_2

Code:
_root.onEnterFrame = function() {
	if(this.neutron_1.hitTest(uran_hilfe_1)) {
		this.uran_1._alpha = 0;
		this.uran_hilfe_1._alpha = 0;
		//this.neutron_1._alpha = 0;
		delete this.onEnterFrame;
		delete neutron_1.onEnterFrame;
		removeMovieClip(_root.neutron_1);
		
		//neutron_2
		createEmptyMovieClip("neutron_2", 11);
		with(neutron_2) {
			lineStyle(10, 0x707070);
			lineTo(1, 0x000000);
			_x = 225;
			_y = 373;
		}
		neutron_2.onEnterFrame = function() {
			this._x += 10;
			this._y += (-5);
		}
		
		//hitTest neutron_2 uran_hilfe_2
		_root.onEnterFrame = function() {
			if(this.neutron_2.hitTest(uran_hilfe_2)) {
				this.uran_2._alpha = 0;
				this.uran_hilfe_2._alpha = 0;
				//this.neutron_2._alpha = 0;
				delete this.onEnterFrame;
				delete neutron_2.onEnterFrame;
				removeMovieClip(neutron_2);
			}
		}
		
		//neutron_3
		createEmptyMovieClip("neutron_3", 12);
		with(neutron_3) {
			lineStyle(10, 0x707070);
			lineTo(1, 0x000000);
			_x = 225;
			_y = 377;
		}
		neutron_3.onEnterFrame = function() {
			this._x += 10;
			this._y += 5;
		}
		
 //hitTest neutron_3 uran_hilfe_3
		_root.onEnterFrame = function() {
			if(this.neutron_3.hitTest(uran_hilfe_3)) {
				this.uran_3._alpha = 0;
				this.uran_hilfe_3._alpha = 0;
				//neutron_3._alpha = 0;
				delete this.onEnterFrame;
				delete neutron_3.onEnterFrame;
				removeMovieClip(neutron_3);
			}
		}
	}
};
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 15:29   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...kannst ja auck keine 2 onEnterFrame auf _root legen. Da wird der erste gelöscht.
Sieht alles etwas wirr aus, aber wahrscheinlich kannste den "grünen" onEnterFrame (also die Zeile) einfach löschen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-01-2006, 15:32   #3 (permalink)
Neuer User
 
Benutzerbild von fuschnick
 
Registriert seit: Feb 2005
Ort: Hamburg
Beiträge: 95
Ja, na klar. Du überschreibst ja auch _root.onEnterFrame.
Die Funktion, die onEnterFrame zugewiesen wird, wird in jedem Schlüsselbild ausgeführt. Wenn Du onEnterFrame dann 'ne neue Funktion zuweist, ist es eben die und nicht mehr die alte.

'n schönen Gruß,
B.

Edit: war derFrager wieder schneller...
__________________
Si je perds ma carte orange, je la recherche en taxi.

Geändert von fuschnick (07-01-2006 um 15:35 Uhr)
fuschnick ist offline   Mit Zitat antworten
Alt 07-01-2006, 15:41   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
danke
is ja irgendwie logisch aber ich kenn mich damit nicht so aus
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 15:48   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
also ich hab jetzt des eine _root.onEnterFrame rausgelöscht aber es geht trotzdem noch nicht ganz so wie ich das gerne hätte

Zitat:
Die Funktion, die onEnterFrame zugewiesen wird, wird in jedem Schlüsselbild ausgeführt. Wenn Du onEnterFrame dann 'ne neue Funktion zuweist, ist es eben die und nicht mehr die alte.
wie kann ich das dann anders lösen?
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 16:17   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Setze bei (z. Bsp) 3 verschiedenen Funktionen drei verschiedene Variabeln. Im onEnterFrame frägst du dann drei mal ab, ob die Variable gesetzt ist oder einen bestimmten Wert hat, wenn ja, führe die entsprechende Funktion aus, ansonsten nicht!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 07-01-2006, 16:20   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
das hört sich ganz sinnvoll an aber ich bin total blutiger anfänger und hab keine ahnung wie ich variablen abrufen kann
zum setzen muss ich doch einfach
var variablenname = zahl;
schreiben oder?
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 16:40   #8 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
ja genau! Und wenn du die Variablen an einem anderen Ort definierst als abrufst, setzt du am besten eine globale Variable:
PHP-Code:
_global.variablenname zahl 
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 07-01-2006, 17:03   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
also kann ich das dann wie folgt machen?

Code:
_global.neutr_1 = 0;
_global.neutr_2 = 0;


createEmptyMovieClip("neutron_1", 10);
with(neutron_1) {
	lineStyle(10, 0x707070);
	lineTo(1, 0x000000);
	_x = 0;
	_y = 375;
}
neutron_1.onEnterFrame = function() {
	this._x += 10;
};

_root.onEnterFrame = function() {
	if(this.neutron_1.hitTest(uran_hilfe_1)) {
		this.uran_1._alpha = 0;
		this.uran_hilfe_1._alpha = 0;
		delete this.onEnterFrame;
		delete this.neutron_1;
		removeMovieClip(_root.neutron_1);
		neutr_1 = 2;
		neutr_2 = 2;
	}
}

//neutron_2
if(neutr_1 != 2) {
	createEmtpyMovieClip("neutron_2", 11);
	with(neutron_2) {
		lineStyle(10, 0x707070);
		lineTo(1, 0x000000);
		_x = 225;
		_y = 373;
	}
	neutron_2.onEnterFrame =function() {
		this._x += 10;
		this._y += (-5);
	};
}

//neutron_3
if(neutr_2 != 2) {
	createEmptyMovieClip("neutron_3", 12);
	with(neutron_3) {
		lineStyle(10, 0x707070);
		lineTo(1, 0x000000);
		_x = 225;
		_y = 377;
	}
	neutron_3.onEnterFrame = function() {
		this._x += 10;
		this._y += 5;
	};
}
da stimmt schon wieder was nicht in dem code (zum verzweifeln)
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 17:17   #10 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Hmmm... ne, da stimmt was wirklich nicht!
Aber nicht verzweifeln! Erklär mal mit Worten, was genau alles passieren soll, bzw. kann und was dann geschehen soll!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 07-01-2006, 17:24   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
also ich will des so machen dass sich neutron_1 auf uran_hilfe_1 bewegt und wenn er es trifft dann soll uran_hilfe_1 und uran_1 unsichtbar werden. gleichzeitig soll aus der position von uran_hilfe_1 neutron_2 und neutron_3 "rausfliegen". und zwar so, dass sich neutron_2 auf uran_hilfe_2 zubewegt und neutron_3 dementsprechend auf uran_hilfe_3. dass soll jeweils wieder aus jedem uran_hilfe_x drei neutronen "rausfliegen".
ich muss das ganze aber mit bedingungen machen weil später will ich noch was einfügen dass die neutronen unterwegs abfangen kann, also den weg unterbricht und somit die kette abreißt.
hoff ich habs verständlich geschrieben
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 17:35   #12 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Ach so!
Das kannst du aber auch billiger haben!
PHP-Code:
createEmptyMovieClip("neutron_1"10);
with (neutron_1) {
    
lineStyle(100x707070);
    
lineTo(10);
    
//<-- Aufpassen, bei Copy & Paste! ;)
    
_x 0;
    
_y 375;
}
neutron_1.onEnterFrame = function() {
    
this._x += 10;
    if (
this.hitTest(_root.uran_hilfe_1)) {
        
_root.uran_1.removeMovieClip();
        
_root.uran_hilfe_1.removeMovieClip();
        
delete this.onEnterFrame;
        
delete this;
    }
    
init_neut2();
};
function 
init_neut2() {
    
_root.createEmtpyMovieClip("neutron_2"11);
    
with (_rootneutron_2) {
        
lineStyle(100x707070);
        
lineTo(10);
        
_x 225;
        
_y 373;
    }
    
neutron_2.onEnterFrame = function() {
        
this._x += 10;
        
this._y += (-5);
        
//eine allfällige weitere Kollisonsabfrage (uran_hilfe2?) käme hier hin!
    
};
    
createEmptyMovieClip("neutron_3"12);
    
with (_root.neutron_3) {
        
lineStyle(100x707070);
        
lineTo(10);
        
_x 225;
        
_y 377;
    }
    
neutron_3.onEnterFrame = function() {
        
this._x += 10;
        
this._y += 5;
        
//siehe neutron2
    
};

__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 07-01-2006, 17:39   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
danke für die schnellen antworten des muss ich gleich ausprobieren
mutter_natur ist offline   Mit Zitat antworten
Alt 07-01-2006, 19:52   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 136
also irgendwas klappt da nicht
der meint immer:
Fehler: Eine 'with'-Aktion schlug fehl, da das angegebene Objekt nicht vorhanden ist.

aber die instanzen heißen ja so wie im code

frage: was bedeutet "init_neut2();" eigentlich genau?

und das nächste problem ist dass in deinem code die mcs neutron_2 und neutron_3 schon gleich von anfang an da sind, die sollen aber erst erscheinen, wenn der hitTest true ist
muss ich das ganze dann immer weiter in den hitTest miteinbauen, weil ich will den script ja noch erweitern und dann geht das ja immer weiter nach innen???
mutter_natur ist offline   Mit Zitat antworten
Alt 08-01-2006, 11:24   #15 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Ja, seh auch wieso! Hatte nen Schreibfehler drin! Sorry!
PHP-Code:
_root.createEmptyMovieClip("neutron_1"10);
with (neutron_1) {
    
lineStyle(100x707070);
    
lineTo(10);
    
//<-- Aufpassen, bei Copy & Paste! ;)
    
_x 0;
    
_y 375;
}
_root.neutron_1.onEnterFrame = function() {
    
this._x += 10;
    if (
this.hitTest(_root.uran_hilfe_1)) {
        
_root.uran_1.removeMovieClip();
        
_root.uran_hilfe_1.removeMovieClip();
        
delete this.onEnterFrame;
        
delete this;
    }
    
init_neut2();
};
function 
init_neut2() {
    
_root.createEmtpyMovieClip("neutron_2"11);
    
with (_root.neutron_2) {//<-- Hier den "." vergessen! ;)
        
lineStyle(100x707070);
        
lineTo(10);
        
_x 225;
        
_y 373;
    }
    
_root.neutron_2.onEnterFrame = function() {
        
this._x += 10;
        
this._y += (-5);
        
//eine allfällige weitere Kollisonsabfrage (uran_hilfe2?) käme hier hin!
    
};
    
_root.createEmptyMovieClip("neutron_3"12);
    
with (_root.neutron_3) {
        
lineStyle(100x707070);
        
lineTo(10);
        
_x 225;
        
_y 377;
    }
    
_root.neutron_3.onEnterFrame = function() {
        
this._x += 10;
        
this._y += 5;
        
//siehe neutron2
    
};

So, hab den Fehler ausgebessert und zusätzlich noch die Pfadangaben angepasst, damit das auf jeden Fall alles klappt!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha 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 17:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele