Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-05-2006, 22:02   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
das ! als not funkioniert nicht mit dem array

hallo,

ich habe in meinen spiel 10 leitern eingebaut und mochte jetzt das wenn die pfeiltaste unten gedrückt ist,die figur wenn sie eine der leitern berührt etwas macht, und wenn sie die leitern nicht berürht und die pfeiltaste unten gedrückt ist , etwas anderes macht.

folgender code der auch funktioniert wenn eine der leiter berürht wird:

if (Key.isDown(Key.DOWN) && (this.hitTest(_root["leiter_runter"+i]))) {
mache irgend etwas}

dieser code hier funktioniert aber leider nicht:

if (Key.isDown(Key.DOWN) && (!this.hitTest(_root["leiter_runter"+i]))) {
mache irgend etwas anderes

wieso funktioniert der code mit dem ausrufezeichen nicht.

wenn ich ohne array schreibe funktioniert es doch auch.
Beispiel:

if (Key.isDown(Key.DOWN)&& (!this.hitTest(_root.leiter_runter1)){tue irgend etwas

aber bei 10 leiter wäre das sehr viel code.
wer kann mir da helfen?

danke im vorraus
gruß spiki
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!
spiki24 ist offline   Mit Zitat antworten
Alt 12-05-2006, 02:03   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus
Bisschen mehr script haste nicht zufällig!
Und bitte die scriptfunction der Eingabemaske verwenden!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-05-2006, 02:17   #3 (permalink)
Banned
 
Registriert seit: Apr 2006
Beiträge: 246
bist du sicher das das funktioniert? oder hast du dich hier vertippt?

Zitat:
Zitat von spiki24
wenn ich ohne array schreibe funktioniert es doch auch.
Beispiel:

if (Key.isDown(Key.DOWN)&& (!this.hitTest(_root.leiter_runter1)){tue irgend etwas

da fehlt hinten eine ) abschliessende klammer sonst ist die "if-klammer" nicht geschlossen

if (Key.isDown(Key.DOWN)&& (!this.hitTest(_root.leiter_runter1)))
ChickenWing ist offline   Mit Zitat antworten
Alt 12-05-2006, 14:18   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
es geht hier umd das ! zeichen

jo,

das mit der klammer stimmt, fasch kopiert von mir,
aber es geht ja auch um das ! im code.

warum funktieniert es wenn ich einen movie einzeln aspreche, aber in verbindung mit dem array nicht ?

wer hat einen vorschlag ?

gruß spiki
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!
spiki24 ist offline   Mit Zitat antworten
Alt 12-05-2006, 14:25   #5 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
hi.

zeig mal die ganze for-schleife her.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 12-05-2006, 14:35   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
so hier die schleife

// die positive hittest abfrage funktioniert.
// aber die negative mit dem ! funktioniert nicht.
onClipEvent (enterFrame) {
for (i=1; i<=10; i++) {
if (Key.isDown(Key.UP) && (this.hitTest(_root["leiter_hoch"+i]))) {
this.gotoAndStop("hero_geht_hoch");
_root.hero._y = _root.hero._y-geschwindigkeitshöhe;
}
}
}

onClipEvent (enterFrame) {
for (i=1; i<=10; i++) {
if (Key.isDown(Key.UP) && (!this.hitTest(_root["leiter_hoch"+i]))) {
this.gotoAndStop("hero_springt_hoch");
_root.hero._y = _root.hero._y-geschwindigkeitshöhe;
}
}
}
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!
spiki24 ist offline   Mit Zitat antworten
Alt 12-05-2006, 15:03   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
So sollte das klappen:
PHP-Code:
onClipEvent (enterFrame) {
    for (
i=1i<=10i++) {
        if (
Key.isDown(Key.UP) && this.hitTest(_root["leiter_hoch"+i])) {
            
this.gotoAndStop("hero_geht_hoch");
            
_root.hero._y = -geschwindigkeitshöhe;
            break;
        } else if (
Key.isDown(Key.UP) && == 10) {
            
this.gotoAndStop("hero_springt_hoch");
            
_root.hero._y = -geschwindigkeitshöhe;
            break;
        }
    }

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 12-05-2006, 16:10   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
besten dank

jo fragger,
besten dank,

der tip war gut, hätte ich eigentlich selber drauf kommen können.
klapt zwar mit der 10 nicht, weil ich i<=10 im code hatte, aber mit 11 klapts bestens.

danke
gruß spiki
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!
spiki24 ist offline   Mit Zitat antworten
Alt 12-05-2006, 17:02   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
problemm noch nicht ganz gelößt

hallo noch mal, mich würde denoch intressieren warum ich einen movieclip einzel negative auf eine kollision abfragen kann, und verschachtelt mit einem array nicht.

1) funktioniert:

onClipEvent (enterFrame) {
if (!this.hitTest(_root.leiter1)){
trace("hero_geht_leiter_nicht_runter")
}}

2) funktioniert nicht:

onClipEvent (enterFrame) {
for (i=1; i<=10; i++) {
if (Key.isDown(Key.UP) &&
(!this.hitTest(_root["leiter_hoch"+i]))) {
trace("hero_geht_leiter_runter")

}
wer kann mir da helfen,
den der tipp mit i==11 funktioniert nicht wenn ich mehrere arrays abfragen will. wobei einige positive und andere negative abgefragt werden.

danke im vorraus
gruß spiki
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!
spiki24 ist offline   Mit Zitat antworten
Alt 12-05-2006, 17:13   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das geht schon. Du musst nur bedenken, dass die Abfrage neunmal true und nur einmal false ergibt. Kannst so ja mal testen:
PHP-Code:
for (i=1i<=10i++) {
    if (!
this.dein_mc.hitTest(_root["leiter_hoch"+i])) {
        
trace("Clip berührt"+_root["leiter_hoch"+i]+" nicht");
    }

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 12-05-2006, 17:19   #11 (permalink)
Banned
 
Registriert seit: Apr 2006
Beiträge: 246
du hast 10 leitern?

wenn dein männeken nun unter einer steht und der hit test bei dieser positiv also true ist ist er bei den andern 9 auf jedenfall negativ also false...

schön das dein film dann zum frame soundso springen soll

dumm nur wenn danach noch 2 leitern folgen dann sprngt er wieder zum anderen denn der die schleife ist noch nicht durchlaufen
ChickenWing ist offline   Mit Zitat antworten
Alt 12-05-2006, 17:23   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
@ChickenWing: Sach ich doch
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 12-05-2006, 17:40   #13 (permalink)
Banned
 
Registriert seit: Apr 2006
Beiträge: 246
ja nu sorry ich mach nebenbei noch was anderes

als ich anfing zu schreiben stand noch nix da
ChickenWing ist offline   Mit Zitat antworten
Alt 12-05-2006, 18:29   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Hamm in NRW
Beiträge: 45
jo ihr habt recht

stimmt habs probiert 1 *true 9 *false
deswegen funktz auch nicht.

ich muß also nicht abfragen ob leiter berührt oder nicht,

sonder einen code haben der nach:

berührt mänchen irgend eine von den 10 leiter oder nicht.

ich könnte das problemm lösen indem ich alle 10 leitern eizeln abfrage:
if (this.hitTest(_root.leiter1) or (this.hitTest(_root.leiter2) or (this.hitTest(_root.leiter3) ..... usw bis 10

aber das ist mir einfach alles zu lang. vorallen sind ja nicht nur leiter im spiel. also einfach zuviel code so.


oder was meint ihr?
vieleicht ne idee dazu?

gruß spiki
__________________
Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!!

Geändert von spiki24 (12-05-2006 um 18:35 Uhr)
spiki24 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 03:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele