| |||||||
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) |
| Neuer User Registriert seit: Dec 2011
Beiträge: 3
|
Hallo zusammen, ich habe aus dem Internet ein Quellcode zum schnellfall gefunden. Allerdings, verdoppelt sich die fallgeschwindigkeit, wenn er von vorner beginnt. Dies wollte ich mit stop(); verhindern. Wenn ich das mache, laufen die Frames aber nicht weiter, sondern bleibt beim 1. Bild stehen. Wo liegt der Fehler? Was kann ich dagegen machen? Ich habe auch schon versucht, die Action in den ersten Frame zu legen und den hintergrund erst in Frame 2 einzubinden, aber er bleibt bei Frame 1 stehen. Code: import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.Event;
var breite = stage.width; // Breite der Bühne
var hoehe = stage.height; // Höhe der Bühne
var anzahl = 100; // Anzahl der Schneeflocken
var gravi = 1.5 // Gravitation
var mc:Array = new Array(); // Array in dem die Movieclips der Flocken sich befinden
var entfernung:Array = new Array(); // Entfernung der Flocke (1 - 10)
var groesse:Array = new Array(); // Groesse der Schneeflocke (1 -10)
var delay:uint = 20; // Verzögerung des Timers in Millisekunden
var repeat:uint = 0; // Wiederholungen des Timers (0 = Endlos)
var myTimer:Timer = new Timer(delay, repeat); // Ein Timer wird initialisiert
myTimer.addEventListener(TimerEvent.TIMER, FrauHolle); // Listeneer für Funktion FrauHolle aus sobalt der Timer gestartet ist.
myTimer.start(); // Timer wird gestartet
// Schneeflocken werden nun generiert...
for(var i=0;i<anzahl;i++) {
mc[i] = new Flocke(); // neues Movieclip
entfernung[i] = Math.random(); // Entfernung der Flocke wird per Zufall definiert
groesse[i] = Math.random(); // auch die Größe wird per Zufall definiert
mc[i].x = breite * Math.random(); // Flocken werden auf Breite der Bühne verteilt.
mc[i].y = -10-hoehe * Math.random(); // Flocken werden überhalb der Bühne auf Höhe der Bühne verteilt (-10 damit keine am oberen Bühnenrand erscheinen)
mc[i].width = mc[i].height = 5*(groesse[i]-entfernung[i]); // Flocke wird auf die Größe skaliert
mc[i].alpha = 80 + 20 * entfernung[i]; // mit größerer Entfernung nimmt der Alpha-Wert ab (80 % - 100%)
addChild(mc[i]); // und ab damit auf Position!!
}
function FrauHolle(e:TimerEvent):void {
for (var s=0;s<anzahl;s++){ // alle Flocken werden durchlaufen
mc[s].y += gravi-groesse[s]/2-entfernung[s]/2; // je größer und weiter weg desto langsamer fallen die Flocken
mc[s].x = mc[s].x + Math.sin(mc[s].y/(hoehe/10))*((groesse[s]-entfernung[s])/2); // genauso verhält es sich mit dem Schwingen...
if (mc[s].y > hoehe){ // Fällt die Flocke unten raus...
mc[s].y = -10; // wird sie überhalb der Bühne plaziert...
mc[s].x = breite * Math.random(); // und bekommt eine neue x-Position.
}
}
}
stop(); |
| | |
| | #2 (permalink) | |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
hi und willkommen im flashforum, erklär das bitte mal genauer hier: Zitat:
cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! | |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Dec 2011
Beiträge: 3
|
Ja, ich habe mehrere Bildübergänge. Und wenn Durchlauf meines Banners zuende ist, beginnt er von vorne. Und bei "neustart" fällt der Schnee jetzt viel schneller als vorher. Und im dritten durchlauf noch viel schneller. Kannst du mir das etwas genauer erklären? Zitat:
Flash ist noch relativ neu für mich. Wäre super nett!! Vielen Dank soweit | |
| | |
| | #4 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
du sagst ja auch PHP-Code: PHP-Code: ![]() cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
| | #5 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
teste wirklich am besten obs schon einen timer gibt... nur wenn es noch keinen timer gibt wird einer erstellt und schon haste das problem nicht mehr. pack dazu einfach wie folgt eine if bedingung um deinen timer und gut ist: PHP-Code: ![]() cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
| | #7 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
bitte
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sound loop verdoppelt sich bei Wiederholung des Films | LaMaMaN | Flash Einsteiger | 6 | 21-05-2008 13:51 |
| funktion verdoppelt sich bei replay | acdc33 | ActionScript 1 | 2 | 01-12-2006 08:12 |
| Sinus Kurve verdoppelt sich | Benni@flash | ActionScript 1 | 5 | 10-11-2004 20:08 |
| Sound.getVolume verdoppelt sich | L4M4R | Softwarearchitektur und Entwurfsmuster | 5 | 31-10-2004 16:31 |
| sound verdoppelt sich beim export | derMoritz | Flash 4 und Flash 5 | 0 | 06-09-2003 18:02 |