Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-10-2005, 00:39   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
fehlerhafte funkion

Hi

hab wieder mal ein kleines Problem
hab eine Funktion wenn sie aufgerufen wird, dann wird nach zufall ein mc auf dem Bildschirm angezeigt oder nicht, den mc kann ich beim funktionsaufruf noch bestimmen. nun hab ich folgendes Problem, dass bei mir immer nur der gleiche mc angezeigt wird. ich versteh das einfach nicht. könnt ihr euch im anhang anschauen. es hat die auswahl zwischen drei verschieden Farbigen mcs die 16x16 groß sind. Aber es kommt immer nur das gleiche.
Die Aufgabe der Funktion ist eigentlich irgendwo auf dem Bildschirm ein kleines Mc zu erzeugen und es anschließend auf Kollision mit einem anderen mc zu überprüfen wenn sie Kollidieren soll noch eine kleine leiste ausfahren und in die angegebene Variable den wert true reinschreiben.
das Funktioniert auch schon alles nur erscheint halt immer nur der eine Mc.
Ich glaube, dass meine Funktion einen Fehler hat. Aber kann keinen Finden.
hier mal der code:
ActionScript:
  1. _root.attachMovie("pack", "pack", 36001, {_x:1000, _y:400});
  2. _root.attachMovie("pack2", "pack2", 36002, {_x:1000, _y:400});
  3. _root.attachMovie("pack3", "pack3", 36003, {_x:1000, _y:400});
  4.  
  5.  
  6. //=================================
  7. //wahr: ist die wahrscheinlichkeit mit dem das pack kommt
  8. //packdauer: ist die Zeit die das pack am Bildschirm bleibt 
  9. //leupdauer:ist die Zeit solange das levelup anhält
  10. //pack ist der name des mc
  11. //ist der name des MCs der ausgefahren wird es muss noch ein
  12. //variable:dort wird tru oder false hineingeschrieben
  13. _global.pack = function(wahr, packdauer, leupdauer, pack, anzeige, variable) {
  14.     if (_root[anzeige].anz>=1) {
  15.         _root[anzeige].check6 = getTimer()-_root[anzeige].start6;
  16.         if (_root[anzeige].check6>leupdauer) {
  17.             _root[anzeige].anz = 0;
  18.         }
  19.         if (_root[anzeige]._x<-3) {
  20.             _root[anzeige]._x = (_root[anzeige]._x+1)*0.9;
  21.         }
  22.         _root[anzeige].scrob._xscale = ((_root[anzeige].check6*(-1))+10000)/10;
  23.     } else {
  24.         if (_root[anzeige]._x>-170) {
  25.             _root[anzeige].tom = (_root[anzeige].tom-1)*0.9;
  26.             _root[anzeige]._x = _root[anzeige]._x+_root[anzeige].tom;
  27.             _root[variable] = false;
  28.         }
  29.     }
  30.     if (_root[anzeige].beschleunigung == true) {
  31.         if (_root[anzeige].start6<=0) {
  32.             _root[anzeige].start6 -= leupdauer;
  33.         }
  34.         _root[anzeige].check5 = getTimer()-_root[anzeige].start5;
  35.         if (_root[anzeige].check5>packdauer) {
  36.             _root[pack]._y = _root[pack]._y+1000;
  37.             _root[anzeige].beschleunigung = false;
  38.         }
  39.         if (_root[pack].hitTest(_root.player)) {
  40.             _root[pack]._y = _root[pack]._y+1000;
  41.             _root[anzeige].start6 = getTimer();
  42.             if (_root[anzeige].check6<leupdauer) {
  43.                 _root[anzeige].start6 = _root[anzeige].start6+(leupdauer-_root[anzeige].check6);
  44.             }
  45.             _root[anzeige].anz = 1;
  46.             _root[variable] = true;
  47.             _root[anzeige].beschleunigung = false;
  48.         }
  49.     } else {
  50.         karl2 = random(15000);
  51.         if (karl2<wahr) {
  52.             xs = random(800);
  53.             ys = random(500);
  54.             _root[pack]._y = 100+ys;
  55.             _root[pack]._x = xs;
  56.             _root[anzeige].start5 = getTimer();
  57.             _root[anzeige].beschleunigung = true;
  58.         }
  59.     }
  60. };
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. this.onEnterFrame = function() {
  69.  
  70.  
  71. _global.pack(30, 10000, 9000, "pack3", "anzeige1", "lala");
  72.     if (lala == true) {
  73.         trace("lala")
  74.     } else {
  75.        
  76.     }
  77.     _global.pack(100, 10000, 9000, "pack", "anzeige", "lala1");
  78.     if (lala1 == true) {
  79.         trace("lala1")
  80.     } else {
  81.        
  82.     }
  83.     _global.pack(30, 10000, 9000, "pack2", "anzeige2", "lala2");
  84.     if (lala2 == true) {
  85.         trace("lala2")
  86.     } else {
  87.        
  88.     }
  89. }
im Anhang ist noch fie fla datei.
Achja es wird immer nur der MC pack angezeigt.
Wäre echt nett wenn mir einer helfen könnte.

mfg jochi
Angehängte Dateien
Dateityp: zip test.zip (5,3 KB, 1x aufgerufen)

Geändert von Jochi (30-10-2005 um 00:41 Uhr)
Jochi ist offline   Mit Zitat antworten
Alt 30-10-2005, 00:54   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
also bei mir wird manchmal das blaue, manchmal das grüne kästchen gezeigt, meistens aber gar nichts. ich kann dir nur sagen: trace()!

du benutzt da sooo viele variablen für deine if-bedingungen, von denen ich, nachdem ich deinen code und die file gesehen habe, behaupten würde, dass viele von ihnen undefined sind, wenn sie abgefragt werden, bzw. es nie zur erfüllung von ihnen kommt. vielleicht irre ich mich...

aber bei mir werden auf jeden fall schon mal zwei von ihnen angezeigt

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 30-10-2005, 11:51   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
Danke das mit dem trace() ist keine schlechte idee!
weiß schon warum das dritte nie angezeigt wird.
es schreibt in die x und y werte immer undefinde hinein.
Ich weiß aber nicht warum.
Jochi 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 11:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele