Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-02-2008, 00:53   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Jena city
Beiträge: 58
wie stopt das

wie stop ich das ?
(es soll nur beim laden laufen)


Code:
import mx.transitions.Tween;

var dreher:MovieClip = this.createEmptyMovieClip("dreher",this.getNextHighestDepth());
dreher._x = Stage.width/2;
dreher._y = Stage.height/2;

var anzahlStriche:Number = 23;
var speed:Number = 50;
var radius:Number = 20;
var strichDicke:Number = 3;
var strichLänge:Number = 10;
var strichAlpha:Number = 20;

for(var i:Number = 0; i< anzahlStriche; i++)
{
	dreher.attachMovie("strich","strich"+i,dreher.getNextHighestDepth(),{_x:0,_y:0,_rotation:360/anzahlStriche * i});
	dreher["strich"+i].balken._alpha = strichAlpha;
	dreher["strich"+i].balken._y = radius*-1;
	dreher["strich"+i].balken._width = strichDicke;
	dreher["strich"+i].balken._height = strichLänge;
	
}

var intervalId:Number;
var aktuelleLinie:Number = 0;
var maxCount:Number = 10;
var duration:Number = 20;

function fadeLines():Void 
{
	if(aktuelleLinie >= anzahlStriche) 
	{
 		aktuelleLinie = -1;
	} 
	var fade:Tween = new mx.transitions.Tween(dreher["strich"+aktuelleLinie].balken,"_alpha",mx.transitions.easing.Regular.easeOut,100,strichAlpha,speed/5,false);	
 	aktuelleLinie++;
}
intervalId = setInterval(this, "fadeLines", speed);
__________________
-.frieden.-
mr_taboos ist offline   Mit Zitat antworten
Alt 06-02-2008, 00:58   #2 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Auch wenn ich nicht ganz verstehe, was genau Du stoppen willst, was geladen wird und überhaupt, tippe ich mal ins Blaue auf den Befehl "clearInterval". Zu finden in der Flash-Hilfe, oder in Deinem Fall:

ActionScript:
  1. clearInterval(intervalId);
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 06-02-2008, 01:06   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Jena city
Beiträge: 58
oh danke so schnell
du bist nicht weit weg von dem was ich meinte

es soll nur nur währen des laden zu sehen sein


Code:
this.onEnterFrame = function(){
        if(percent<100){
                percent = Math.floor((getBytesLoaded()/getBytesTotal())*100);
                pre_text.text = percent + "";
        }else{
                delete this.onEnterFrame;
                history = new Array();
                _root.gotoAndStop("2");
        }
}
stop();
danke
__________________
-.frieden.-

Geändert von mr_taboos (06-02-2008 um 01:18 Uhr)
mr_taboos ist offline   Mit Zitat antworten
Alt 06-02-2008, 13:18   #4 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Ja, wo ist denn das Problem?
Einfach das Intervall da starten, wo es gestartet werden soll und in Deiner Ladeschleife bei 100% clearen.

ActionScript:
  1. import mx.transitions.Tween;
  2.  
  3. var dreher:MovieClip = this.createEmptyMovieClip("dreher",this.getNextHighestDepth());
  4. dreher._x = Stage.width/2;
  5. dreher._y = Stage.height/2;
  6.  
  7. var anzahlStriche:Number = 23;
  8. var speed:Number = 50;
  9. var radius:Number = 20;
  10. var strichDicke:Number = 3;
  11. var strichLänge:Number = 10;
  12. var strichAlpha:Number = 20;
  13.  
  14. for(var i:Number = 0; i< anzahlStriche; i++)
  15. {
  16.     dreher.attachMovie("strich","strich"+i,dreher.getNextHighestDepth(),{_x:0,_y:0,_rotation:360/anzahlStriche * i});
  17.     dreher["strich"+i].balken._alpha = strichAlpha;
  18.     dreher["strich"+i].balken._y = radius*-1;
  19.     dreher["strich"+i].balken._width = strichDicke;
  20.     dreher["strich"+i].balken._height = strichLänge;
  21.    
  22. }
  23.  
  24. var intervalId:Number;
  25. var aktuelleLinie:Number = 0;
  26. var maxCount:Number = 10;
  27. var duration:Number = 20;
  28. var percent:Number;
  29.  
  30. function fadeLines():Void
  31. {
  32.     if(aktuelleLinie >= anzahlStriche)
  33.     {
  34.        aktuelleLinie = -1;
  35.     }
  36.     var fade:Tween = new mx.transitions.Tween(dreher["strich"+aktuelleLinie].balken,"_alpha",mx.transitions.easing.Regular.easeOut,100,strichAlpha,speed/5,false)
  37.     aktuelleLinie++;
  38. }
  39. intervalId = setInterval(this, "fadeLines", speed);
  40.  
  41. this.onEnterFrame = function(){
  42.     percent = Math.floor((getBytesLoaded()/getBytesTotal())*100);
  43.     if(percent<100){
  44.                 pre_text.text = percent + "";
  45.         }else{
  46.                 clearInterval(intervalId); // <-- Hier einfach das Intervall löschen und fertig
  47.                 delete this.onEnterFrame;
  48.                 removeMovieClip(dreher);
  49.                 history = new Array();
  50.                 _root.gotoAndStop("2");
  51.         }
  52. }
  53. stop();
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.

Geändert von hellslawyer (06-02-2008 um 14:44 Uhr)
hellslawyer ist offline   Mit Zitat antworten
Alt 06-02-2008, 14:14   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Jena city
Beiträge: 58
mhh... da geht leider jetzt gar nichts mehr woran kann das liegen ?
__________________
-.frieden.-
mr_taboos ist offline   Mit Zitat antworten
Alt 06-02-2008, 14:19   #6 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Das liegt daran, daß ich leider relativ ins Blaue rate, was Deine Skriptschnipsel angeht. Ich weiß nicht, wo Du welches Skript hingebaut hast und dergl.

Tante Edit meinte noch:
Hab das Skript oben noch mal angepasst und getestet. Funktioniert bei mir einwandfrei.
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.

Geändert von hellslawyer (06-02-2008 um 14:45 Uhr)
hellslawyer ist offline   Mit Zitat antworten
Alt 06-02-2008, 15:03   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Jena city
Beiträge: 58
ich habe mal die .fla hochgeladen

http://www.megaupload.com/de/?d=GZV1T3I0

vielleicht hilft das ja weiter
__________________
-.frieden.-
mr_taboos ist offline   Mit Zitat antworten
Alt 06-02-2008, 15:22   #8 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Na, das da nichts geht ist ja auch kein Wunder:
1. Hier attacht Du nen MC. Dieser befindet sich aber überhaupt nicht in der Bibliothek. Daher kann natürlich auch Dein Kreisding nicht angezeigt werden.
ActionScript:
  1. dreher.attachMovie("strich", "strich"+i, dreher.getNextHighestDepth(), {_x:0, _y:0, _rotation:360/anzahlStriche*i});

2. Wenn Du Deine Prozente abfragen willst, dann darfst Du das natürlich nicht in der if-Schleife machen. Das macht natürlich keinen Sinn. Das muss natürlich so aussehen:
ActionScript:
  1. this.onEnterFrame = function() {
  2.     percent = Math.floor((getBytesLoaded()/getBytesTotal())*100);
  3.     if (percent<100) {
  4.         pre_text.text = percent+"";
  5.     } else {
  6.         clearInterval(intervalId);
  7.         // <-- Hier einfach das Intervall löschen und fertig
  8.         delete this.onEnterFrame;
  9.         history = new Array();
  10.         _root.gotoAndStop("2");
  11.     }
  12. };

Im Übrigen würde ich das Video nicht einbetten, sondern streamen. Dann brauchen die User nicht erstmal 3MB zu laden. Das wird nämlich kaum jemand machen
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 06-02-2008, 16:15   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Jena city
Beiträge: 58
sorry das ich mich so anstelle aber von flash Programmierung habe ich null Ahnung
ich mache normalerweise nur in Grafik und 3d

der lade kreis ist jetzt immer sichtbar, das soll er aber nur wenn die Seite lädt

das rotieren dagegen hört prima auf auch die Prozent anzeige funktioniert
__________________
-.frieden.-
mr_taboos ist offline   Mit Zitat antworten
Alt 06-02-2008, 17:39   #10 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Wenn der Kreis weg soll, dann musst Du einfach nur in der if-Schleife den Dreher-Clip removen. Ganz einfach so:
ActionScript:
  1. this.onEnterFrame = function(){
  2.     percent = Math.floor((getBytesLoaded()/getBytesTotal())*100);
  3.     if(percent<100){
  4.                 pre_text.text = percent + "";
  5.         }else{
  6.                 clearInterval(intervalId); // <-- Hier einfach das Intervall löschen und fertig
  7.                 delete this.onEnterFrame;
  8.                 removeMovieClip(dreher);
  9.                 history = new Array();
  10.                 _root.gotoAndStop("2");
  11.         }
  12. }

Aber wie gesagt, das ganze ist nicht wirklich User-Freundlich. Schöner wäre a) als Preloader mit der MovieClipLoader-Klasse zu arbeiten und b) den Film zu streamen. Um Deine Grafiken an der richtigen Stelle einzubinden könntest Du dann entweder mit Cue-Points arbeiten, oder per Skript die entsprechende Zeit des Filmes abfragen.
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer 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 15:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele