Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2006, 17:15   #1 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Alternative zu setInterval

Die folgende Funktion benutze ich um Kategorien aus einer XML-Datei auszugeben und die dazugehörigen Informationen wiederzugeben. Das ganze soll intervalabhägig sein. Alles funktioniert prima, allerdings soll das ganze in Flash 5 zur Verfügung stehen. Ich habe bisschen gerätselt, woran es liegen mag, dass es in einem Flash 5 Player nicht funktioniert. Dann habe ich gesehen, dass setInterval erst ab Flash Player 6 verfügbar ist.

Gibt es einer Alternative dazu?

ActionScript:
  1. z = -1;
  2. xmlObj = new XML(this);
  3. xmlObj.ignoreWhite = true;
  4. xmlObj.onLoad = function(success)
  5. {
  6.     xml_title = [];
  7.     xml_name = [];
  8.     xml_ml = [];
  9.     xml_price = [];
  10.     if (success) {
  11.         mc.c_heading = "HALLOwefwefwefwefwefwefwfewefwefwefwefwefwefwfwefwefwefwefwe";
  12.         inter = setInterval (function() {
  13.                                       z++;
  14.                                       //trace("Z:"+z);
  15.                                       xml_name.splice(0, xml_name.length);
  16.                                       xml_ml.splice(0, xml_ml.length);
  17.                                       xml_price.splice(0, xml_price.length);
  18.                                       //Heading
  19.                                       for (var j=0; j<1; j++)
  20.                                       {
  21.                                           //trace(xmlObj.firstChild.childNodes[z].attributes.c_name);
  22.                                           xml_title[j] = xmlObj.firstChild.childNodes[z].attributes.c_name;
  23.                                           mc.c_heading = xml_title[j];
  24.                                       }
  25.                                       //Content
  26.                                       for (var i=0; i<xmlObj.firstChild.childNodes[z].childNodes.length; i++)
  27.                                       {
  28.                                           //trace(xmlObj.firstChild.childNodes[z].childNodes[i]);
  29.                                           xml_name[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_name;
  30.                                           xml_ml[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_ml;
  31.                                           xml_price[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_price;
  32.                                          //_root["c_text_"+i].text = xml_name[i] + ", " + xml_ml[i]  + ", " + xml_price[i];
  33.                                          //_root.c_name_txt.text = xml_name[i].splice(0, 1) + "\n";
  34.                                          mc.c_name_txt = xml_name.slice(0, 1) + "\n" + xml_name.slice(1, 2) + "\n" + xml_name.slice(2, 3) + "\n" + xml_name.slice(3, 4) + "\n" + xml_name.slice(4, 5) + "\n" + xml_name.slice(5, 6) + "\n" + xml_name.slice(6, 7)  + xml_name.slice(7, 8)+ "\n";
  35.                                          mc.c_ml_txt = xml_ml.slice(0, 1) + "\n" + xml_ml.slice(1, 2) + "\n" + xml_ml.slice(2, 3) + "\n" + xml_ml.slice(3, 4) + "\n" + xml_ml.slice(4, 5) + "\n" + xml_ml.slice(5, 6) + "\n" + xml_ml.slice(6, 7) + xml_ml.slice(7, 8) + "\n";
  36.                                          mc.c_price_txt = xml_price.slice(0, 1) + "\n" + xml_price.slice(1, 2) + "\n" + xml_price.slice(2, 3) + "\n" + xml_price.slice(3, 4) + "\n" + xml_price.slice(4, 5) + "\n" + xml_price.slice(5, 6) + "\n" + xml_price.slice(6, 7) + xml_price.slice(7, 8) + "\n";
  37.                                       }
  38.                                       if (z>=xmlObj.firstChild.childNodes.length-1) { z=-1; }
  39.                                       //_root.c_name_txt.text = ausgabe_content;
  40.                                       //ausgabe_content = xml_name + ", " + xml_ml + ", " + xml_price;
  41.                                       //trace(xml_title);
  42.                                       //trace(ausgabe_content);
  43.                                       }, 1000);
  44.     }
  45. }
  46. xmlObj.load("out.xml");
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 25-11-2006, 17:28   #2 (permalink)
new user
 
Benutzerbild von PinkDragon
 
Registriert seit: Oct 2005
Beiträge: 140
wie wärs mit:

PHP-Code:
var count 0;

this.onEnterFrame = function(){
  
count++;
  if(
count == (deine fps)){
    
count 0;
    [...]
  }

PinkDragon ist offline   Mit Zitat antworten
Alt 25-11-2006, 17:39   #3 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Zitat:
Zitat von PinkDragon Beitrag anzeigen

PHP-Code:
var count 0;

this.onEnterFrame = function(){
  
count++;
  if(
count == (deine fps)){
    
count 0;
    [...]
  }

PHP-Code:
//Was soll diese Zeile bewirken?
(deine fps
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 25-11-2006, 17:49   #4 (permalink)
new user
 
Benutzerbild von PinkDragon
 
Registriert seit: Oct 2005
Beiträge: 140
fps = wieviele Bilder in der Sekunde abgespielt werden. In Flash heißt es afair so ähnlich wie: "Bildwiederholungsrate".
Was das bewirken soll? Dass die Funktion nur ein mal in der Sekunde ausgeführt wird.
PinkDragon ist offline   Mit Zitat antworten
Alt 25-11-2006, 18:03   #5 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Wie könnte ich das ich mein Beispeil einbringen? Irgendwie komme ich jetzt mit dem nicht klar...

onEnterFrame = function() funktioniert in Flash 5 auch nicht, onClipEvent(enterFrame)

Irgendwie klappts nicht ganz.
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 25-11-2006, 18:13   #6 (permalink)
new user
 
Benutzerbild von PinkDragon
 
Registriert seit: Oct 2005
Beiträge: 140
Oh das geht auch nicht.. dann halt so:
Erstelle einen unsichtbaren MC und schreibe dort hinein:
PHP-Code:
onClipEvent(enterFrame){
  
_root.NeuerFrame();

In die Zeitleiste schreibst dann:
PHP-Code:
var count 0

function 
NeuerFrame(){ 
  
count++;
  if(
count == (deine fps)){ 
    
count 0
    [...] 
  } 

oder
PHP-Code:
onClipEvent(load){
  
counter 0;
}
onClipEvent(enterFrame){
  
counter++;
  if(
counter == (deine fps)){
    
_root.NeueSekunde();
    
counter 0;
  }

PHP-Code:
function NeueSekunde(){
  [...]


Geändert von PinkDragon (25-11-2006 um 18:16 Uhr)
PinkDragon ist offline   Mit Zitat antworten
Alt 26-11-2006, 11:02   #7 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Hab das ganze auch nun flash 5 kompatibel umgeschrieben. Allerdings besteht ein weiteres Problem.

Dieser Film wird in einen anderen eingefügt. Ich weiss nicht, ob man das kennt, nennt sich Flashmixer. Ich habe davon eine EXE datei vorliegen. Und ich denke mal die Pfade stimmen in meinem Film nicht, weil keine Anzeige des Inhalts kommt. Ich bin mir auch unsicher wie ich die Pfadangaben ändern kann, damit es klappt....
PHP-Code:
//MovieClip mc
onClipEvent(enterFrame) {
    
_root.neuerFrame();
}
//Frame 1
function NeuerFrame() { 
  
count++;
  if(
count == (24)){
      
count 0;
      
z++;
     
//XML
     
xml_name.splice(0xml_name.length);
     
xml_ml.splice(0xml_ml.length);
     
xml_price.splice(0xml_price.length);
     
//Heading
     
for (var j=0j<1j++)
     {
         
//trace(xmlObj.firstChild.childNodes[z].attributes.c_name);
         
xml_title[j] = xmlObj.firstChild.childNodes[z].attributes.c_name;
         
mc.c_heading xml_title[j];
     }
     
//Content
     
for (var i=0i<xmlObj.firstChild.childNodes[z].childNodes.lengthi++)
     {
         
xml_name[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_name;
         
xml_ml[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_ml;
         
xml_price[i] = xmlObj.firstChild.childNodes[z].childNodes[i].attributes.o_price;
         
mc.c_name_txt xml_name.slice(01) + "\n" xml_name.slice(12) + "\n" xml_name.slice(23) + "\n" xml_name.slice(34) + "\n" xml_name.slice(45) + "\n" xml_name.slice(56) + "\n" xml_name.slice(67)  + xml_name.slice(78)+ "\n";
         
mc.c_ml_txt xml_ml.slice(01) + "\n" xml_ml.slice(12) + "\n" xml_ml.slice(23) + "\n" xml_ml.slice(34) + "\n" xml_ml.slice(45) + "\n" xml_ml.slice(56) + "\n" xml_ml.slice(67) + xml_ml.slice(78) + "\n";
         
mc.c_price_txt xml_price.slice(01) + "\n" xml_price.slice(12) + "\n" xml_price.slice(23) + "\n" xml_price.slice(34) + "\n" xml_price.slice(45) + "\n" xml_price.slice(56) + "\n" xml_price.slice(67) + xml_price.slice(78) + "\n";
      }
      if (
z>=xmlObj.firstChild.childNodes.length-1) { z=-1; }
  } 
}  
xmlObj = new XML(this);
xmlObj.ignoreWhite true;
xmlObj.onLoad = function(success)
{
    
xml_title = new Array();
    
xml_name = new Array();
    
xml_ml = new Array();
    
xml_price = new Array();
    if (
success) {
        
mc.c_heading "JOwefwefwe"//ALS KONTROLLE, WIRD NICHTS AUSGEGEBEN
        
var count 0
        var 
= -1;
    }
}
xmlObj.load("http://localhost/out.php"); 
__________________
www.johannes-erhardt.com | blog | xing me baby

Geändert von FLASHStyler (26-11-2006 um 11:15 Uhr)
FLASHStyler 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 08:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele