| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Rock'n'Bass Registriert seit: Feb 2006 Ort: Hamburg
Beiträge: 202
|
Hi, ich mal wieder! Habe in kürzester Zeit ein kleines Fungame zusammengescriptet, in dem man mit einem Gewehr auf Krähen schießt, die einen aus der Luft angreifen, also immer näher auf einen zufliegen. Jetzt wollte ich einen Lebens-/Energie-Balken hinzufügen, der jedesmal, wenn eine der Krähen den Spieler erreicht hat (also wenn die Krähe eine bestimmte Größe erreicht hat), um 10 Prozent verringert wird. Sobald dies geschehen ist, wird die Krähe wieder kleiner gemacht (und an eine zufällige Stelle gesetzt), um einen neuen Angriff zu starten. WAS DABEI FUNKTIONIERT: - Punkt 1: Die Krähen kommen ordnungsgemäß näher und lassen sich abschießen. - Punkt 2: Erreicht eine Krähe ihre maximale Größe (bzw. hat sie den Spieler erreicht), wird sie wieder verkleinert, um einen neuen Angriff zu starten. WAS NICHT FUNKTIONIERT: - Wenn Punkt 2 eintritt, sollte der Lebensbalken um 10 ?rozent reduziert werden, aber natürlich nur einmal. Was stattdessen passiert, ist, dass die Balkenlänge schon bei Start des Flashfilms kontinuierlich (!) verringert wird. D.h., startet man den Film, "rast" der Balken quasi sofort weg.. WIESO?? Die Anweisung für den Balken befindet sich doch an genau derselben Stelle im Code wie die Anweisungen, die die Krähe wieder zurücksetzen.. Oo Hier der relevante Teil AS-Code (liegt auf Bild1 von _root): Code: stop();
// ( ... )
// Die Krähen werden zu Beginn auf weniger als 50 Prozent ihrer Originalgröße verkleinert!
// ( ... )
this.onEnterFrame = function(){
for (i=0; i<=3; i++){
this["kraehe"+i]._xscale *= 1.02;
this["kraehe"+i]._yscale *= 1.02;
//trace(this["kraehe"+i]._xscale);
if (this["kraehe"+i]._xscale >= 100){ // (Liegt hier der Fehler?)
trace(this["kraehe"+i]._xscale);
this.interf_leben.lebensbalken._yscale -= 10; // Diese Zeile wird kontinuierlich ausgeführt von Anfang an! Aber WIESO??
// Die nächsten vier Zeilen werden ja ordnungsgemäß zum gewollten Zeitpunkt einmal (!) ausgeführt.
this["kraehe"+i]._xscale = startgr;
this["kraehe"+i]._yscale = startgr;
this["kraehe"+i]._x = Math.random()*200;
this["kraehe"+i]._y = Math.random()*50;
}
}
} Ich versteh das einfach nicht. Wär cool, wenn ihr den Fehler sehen würdet..
__________________ ==>remix.nin.com<== // Life Is Too Short For Boring Music! Fantasie ist die einzige Waffe gegen die Wirklichkeit. Geändert von <sVkVmVit> (24-01-2008 um 09:38 Uhr) |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.138
| Da du bei jedem gefeuerten enterFrame Event in x-Richtung mit einem Faktor von 1.02 multiplizierst ist ActionScript:
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Rock'n'Bass Registriert seit: Feb 2006 Ort: Hamburg
Beiträge: 202
|
Ich weiß, was du damit sagen willst. Nur ist es folgendermaßen: 1. Jede Krähe wird zu Anfang des Films per attachMovie geladen und auf weniger als 50 Prozent ihrer Größe gesetzt. (Das heißt, Flash weiß ja dann, dass jede von ihnen kleiner als 100 prozent ist. ) 2. Wie ich im Code kommentiert hab, werden die anderen vier Zeilen innerhalb dieser if-Abfrage so wie gewollt nur einmal ausgeführt. Daher frage ich mich natürlich, wieso das bei der einen Zeile davor nicht der Fall ist (die ja ebenfalls in der if-abfrage liegt).
__________________ ==>remix.nin.com<== // Life Is Too Short For Boring Music! Fantasie ist die einzige Waffe gegen die Wirklichkeit. Geändert von <sVkVmVit> (24-01-2008 um 10:23 Uhr) |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.138
|
Sorry, hatte den ersten Teil des Scripts überlesen. Lass dir mal die x- undy-Skalierung ausgeben: ActionScript:
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |