Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-12-2009, 15:02   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
counter und dezimalstellen

Hallo,
ich habe diesen code gefunden und er funktioniert auch prima.
Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "ARIAL";
my_fmt.color = 0x990000;
my_fmt.size = 300;
my_fmt.align = "center";

this.createTextField("count", 0, 0, 0, 300, 150);  

var ziel:Number = 10000000;
var i:Number     = 0*;
var steps:Number = 1;

this.onEnterFrame = function():Void { 
  if ((i + steps) <= ziel) { 
    i += steps;    

    count.text = (i) ; 
    count.setTextFormat(my_fmt);
  } else {
    delete this.onEnterFrame;

    count.text = (ziel) ; 
    count.setTextFormat(my_fmt);  
  }
}

stop();
Mein problem ist, dass dieser counter zwar zählt aber bei 0 (eine Stelle) anfängt.
ich brauche aber unbedingt ein paar Nullstellen davor. Beispiel Tankstelle (Zapfsäule).

lieben Dank ... Martin
keithkeith ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:02   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
PHP-Code:
var zero    :String "0000000";
var 
end    :uint 10000000;
var 
endStr  :String String(end);
for( var 
i:uint=0endi++)
{
    var 
count     :String    String(i);
    var 
output    :String    zero.substr(0endStr.length count.length) + count;;
    
trace(output); 

P.S.: Bei 10.000.000 und 25fps würde dein Skript übrigens knappe 5 Tage laufen. Aber wahrscheinich meckert Flash vorher
Lukas78 ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:10   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
hi und dank :-)
Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "ARIAL";
my_fmt.color = 0x990000;
my_fmt.size = 300;
my_fmt.align = "center";

this.createTextField("count", 0, 0, 0, 300, 150);  

var zero    :String = "0000000"; 
var end    :uint = 10000000; 
var endStr  :String = String(end); 
for( var i:uint=0; i < end; i++) 
{ 
    var count     :String    = String(i); 
    var output    :String    = zero.substr(0, endStr.length - count.length) + count;; 
    trace(output);  
}  

stop();
reicht leider nicht. Liegrt das an meiner Flashversion ? Ich finde jetzt auf die schnelle keinen Fehler ?!?
Bekomme folgende Fehlermeldung:
**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 9: Die Klasse oder die Benutzeroberfläche 'uint' konnte nicht geladen werden.
var end :uint = 10000000;

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 11: Die Klasse oder die Benutzeroberfläche 'uint' konnte nicht geladen werden.
for( var i:uint=0; i < end; i++)

Anzahl der ActionScript-Fehler: 2 Gemeldete Fehler: 2
keithkeith ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:13   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
Ups sorry! uint gibts glaub ich erst ab AS3 einfach int oder Number nehmen.

Und ich glaub in der Schleife kannste das einfach weglassen, AS3 ist da strenger.
Lukas78 ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:35   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
Fast :-)
Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "ARIAL";
my_fmt.color = 0x990000;
my_fmt.size = 300;
my_fmt.align = "center";

this.createTextField("count", 0, 0, 0, 300, 150);  

var zero    :String = "0000000"; 
var end    :int = 10000000; 
var endStr  :String = String(end); 
for( var i=0; i < end; i++) 
{ 
    var count     :String    = String(i); 
    var output    :String    = zero.substr(0, endStr.length - count.length) + count;; 
    trace(output);  
}  

stop();
Der code und diese Fehlermeldung !
**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 10: Die Klasse oder die Benutzeroberfläche 'int' konnte nicht geladen werden.
var end :int = 10000000;

Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1
aber int müßte jedes AS kennen ?
keithkeith ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:40   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
Dann musste wohl Number benutzten

Wundert mich allerdings auch, dass er kein int kennen will.
Lukas78 ist offline   Mit Zitat antworten
Alt 01-12-2009, 16:57   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
und nu is mein rechner agestürzt :-)
keithkeith ist offline   Mit Zitat antworten
Alt 03-12-2009, 22:27   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
Huhu, noch jemand 'ne Idee ?
ich bekomme es einfach nicht hin.
keithkeith ist offline   Mit Zitat antworten
Alt 04-12-2009, 09:18   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
Gibt der dir den mit dem trace nix aus - also jetzt in der Console nicht in deinem Textfeld?

Wenn doch, einfach statt dem trace(output) einfach dem Textfeld output zuweisen.

Sorry hielt das für selbstverständlich!
Lukas78 ist offline   Mit Zitat antworten
Alt 04-12-2009, 11:12   #10 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
sorry, bin einfach raus.
meinste einfach ein textfeld anlegen mit z. B. dem Instatznamen: ausgabe
und dem variablenwert output ?
keithkeith ist offline   Mit Zitat antworten
Alt 04-12-2009, 11:22   #11 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
nee, bekomme es einfach nicht hin
keithkeith ist offline   Mit Zitat antworten
Alt 04-12-2009, 11:28   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
Zitat:
Zitat von keithkeith Beitrag anzeigen
hi und dank :-)
Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "ARIAL";
my_fmt.color = 0x990000;
my_fmt.size = 300;
my_fmt.align = "center";

this.createTextField("count", 0, 0, 0, 300, 150);  

var zero    :String = "0000000"; 
var end    :uint = 10000000; 
var endStr  :String = String(end); 
for( var i:uint=0; i < end; i++) 
{ 
    var count     :String    = String(i); 
    var output    :String    = zero.substr(0, endStr.length - count.length) + count;; 
    trace(output);  
}  

stop();
Da hasste doch schon fast alles!! Zwei Änderungen musste noch machen, textField und counter String dürfen nicht beide count heißen.
Und statt dem trace(output) machste deinTextfeldName.text = output.

Hab grad nicht so wirklich Zeit. Ist kein Hexenwerk - Selber lernen macht schlau
Lukas78 ist offline   Mit Zitat antworten
Alt 04-12-2009, 12:32   #13 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
okay funktioniert noch nicht ganz
Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "ARIAL";
my_fmt.color = 0x990000;
my_fmt.size = 300;
my_fmt.align = "center";

var zero    :String = "00000"; 
var end    :Number = 10000; 
var endStr  :String = String(end); 
for( var i=0; i < end; i++) 
{ 
    var count     :String    = String(i); 
    var output    :String    = zero.substr(0, endStr.length - count.length) + count;; 

	ausgabe.text = output;
}  

stop();
ich bekomme jetzt eine "fertige" zahl, sie wird nicht hochgezählt. muss ich da am textfeld noch was einstellen ? (dynamisch, fest ?)
keithkeith ist offline   Mit Zitat antworten
Alt 04-12-2009, 12:39   #14 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 434
die for Schleife war auch nur als einfaches Beispiel zur String verarbeitung gedacht. so sollte es nun endgültig klappen

PHP-Code:
var my_fmt:TextFormat = new TextFormat();
my_fmt.font "ARIAL";
my_fmt.color 0x990000;
my_fmt.size 300;
my_fmt.align "center";

var 
zero    :String "00000"
var 
end    :Number 10000
var 
endStr  :String String(end);
var 
i=

this
.onEnterFrame = function():Void {

    var 
count     :String    String(i); 
    var 
output    :String    zero.substr(0endStr.length count.length) + count;
    
i++;
    
    if( 
end)
        
delete this.onEnterFrame;

    
ausgabe.text output;

Lukas78 ist offline   Mit Zitat antworten
Alt 04-12-2009, 19:23   #15 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 92
juhu, funktioniert noch immer nicht !?! Nichts zu sehen, obwohl der code ohne fehler anspringt :-) hab noch paar gescheifte klammern spendiert.
Code:
var zero    :String = "00000";  
var end     :Number = 10000;  
var endStr  :String = String(end); 
var i=0  

this.onEnterFrame = function():Void { 

    var count     :String    = String(i);  'Strinvariable die zählt'
    var output    :String    = zero.substr(0, endStr.length - count.length) + count; 'verstehe ich nur zum Teil, wird aber stimmen :-) '
    i++; 'i weiter zählen'
     
    if( i > end) {
        delete this.onEnterFrame;  'raus, aus der funktion, aber warum ? '
    	ausgabe.text = output; 'Zahl ausgeben'
				 }
}
keithkeith 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flash Counter Manuell und mit Dezimalstellen tüllü Flash Einsteiger 6 24-03-2008 10:03
Rechnen mit zwei Dezimalstellen Samuel Autorensysteme 10 08-11-2005 08:56
Dezimalstellen falsch?! Patsch PHP und MySQL 2 02-10-2003 16:04
dezimalstellen krombe Flash 4 und Flash 5 5 21-02-2002 11:09


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele