Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-08-2004, 16:38   #1 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Question setInterval ersetzten - aber wodurch???

Hi All,

hab folgendes Problem: Als Navi habe ich eine MenuBar (Component), die bei click auf einen Menüpunkt eine swf (FlashPaper) in einen Container_mc lädt. So weit, so gut - funzt auch (fast)

Folgende "Phänomene" treten beim testen auf: 1. Je niedriger das Intervall, desto mehr leidet die Performance und umgekehrt. Setz' ich das Intervall z.B. auf 3.600 (1sec), dann ist die Performance DEUTLICH besser (MenuBar aufbau läuft wesentlich flüssiger etc.) Nur dann dauert halt die Anpassung der swf an den Container (H&B) entsprechend (ist unschön).

Das 2. ist noch viel schlimmer: wenn ich auf z.B. die ScrollBar der swf (FlashPaper) klicke, scheint meine "Stage" den Focus zu verlieren (falls sowas überhaupt geht) und meine MenuBar (bzw. die Func's, die auf den einzelnen Menüs liegen) funzt net mehr (kann klicken & kli9cken und nix passiert.) Lade ich aber nur die swf's und klicke net in den Container (z.B. auf d. ScrollBar oder den Print_btn), funzt alles wunderbar.

Hier der (ein kleiner Teil) Code (je 1ne xyzFunc(); pro MenuItem):

PHP-Code:
#include "ladestatus.as"

unloadFlashPaper = function (){
    
ladeziel.unloadMovie("");
    
ladeziel._height=572;
    
ladeziel._width=1024;

}
//SetUp Funktionen -> Product & Menu
PrAMeInInstanceFunc = function (){
ladestatus();
function 
loadFlashPaper (path_sdest_mcwidth_iheight_iloaded_o){
    var 
intervalID 0;
    var 
loadFunc = function(){
        
dest_mc._visible false;
        var 
fp dest_mc.getIFlashPaper();
        if (!
fp) return;
        if (
fp.setSize (width_iheight_i) == true) return;
        
dest_mc._visible true;
        
clearInterval (intervalID);
        
//loaded_o.onLoaded(fp);
        //function onLoaded(fp){
        //    fp.setCurrentZoom(100);
        //    fp.setCurrentPage(2);
        //}
    
}
    
intervalID setInterval (loadFunc3600);
    
dest_mc.loadMovie (path_s);
    
updateAfterEvent();
}
loadFlashPaper ("flashPaper/PrAMeIn.swf"ladezielladeziel._widthladeziel._heightthis);
}

MeGuInstanceFunc = function (){
//ladestatus();
function loadFlashPaperA (path_sdest_mcwidth_iheight_iloaded_o){
    var 
intervalID 0;
    var 
loadFunc = function(){
        
dest_mc._visible false;
        var 
fp dest_mc.getIFlashPaper();
        if (!
fp) return;
        if (
fp.setSize (width_iheight_i) == true) return;
        
dest_mc._visible true;
        
clearInterval (intervalID);
        
//loaded_o.onLoaded(fp);
        //function onLoaded(fp){
        //    fp.setCurrentZoom(100);
        //    fp.setCurrentPage(2);
        //}
    
}
    
intervalID setInterval (loadFunc3600);
    
dest_mc.loadMovie (path_s);
}
loadFlashPaperA ("flashPaper/MeGu.swf"ladezielladeziel._widthladeziel._heightthis);

Bei ladestatus.as hab ich mich von Rena inspirieren lassen (THX)

Hier ein (ebenfalls sehr kleiner) Teil vom MenuBar Code:


PHP-Code:
//SetUp Farben für MenuBarService
meineMenuBar.setStyle("themeColor""0xDf002C");
meineMenuBar.setStyle("color""black");
meineMenuBar.setStyle("backgroundColor""0xF9D73E");
meineMenuBar.setStyle("popupDuration""0");
meineMenuBar.setStyle("fontFamily""GillSans");
meineMenuBar.setStyle("fontSize""13");
meineMenuBar.setStyle("disabledColor""0xA8A257");
//meineMenuBar.setStyle("borderColor", "0xFF00FF");
//meineMenuBar.setStyle("highlightColor", "white");
meineMenuBar.setStyle("_alpha""0");
meineMenuBar.setStyle("borderStyle""none");

//SetUp Navigation & Untermenü -> Product & Menu
var product meineMenuBar.addMenu({label:"Product & Menu"instanceName:"product"});
product.addMenuItem({label:"Product & Menu Introduction"instanceName:"PrAMeInInstance"});
product.addMenuItem({type:"separator"});
product.addMenuItem({label:"Menu Information"instanceName:"MeInInstance"enabled:"true"});
    
//product.MeInInstance.addMenuItem({label:"Menu Information Introduction", instanceName:"MeInInInstance"});
    //product.MeInInstance.addMenuItem({type:"separator"});
    
product.MeInInstance.addMenuItem({label:"Menu Guidelines"instanceName:"MeGuInstance"}); 
... und der dazugehörige Listener:

PHP-Code:
var listen = new Object();
listen.scope this;

listen.change = function(evt){
  var 
product evt.menu;
  var 
item evt.menuItem
  
if (item == product.PrAMeInInstance){
    
this.scope.bugFunc();
    
this.scope.unloadFlashPaper();
    
this.scope.PrAMeInInstanceFunc();
  }else if (
item == product.MeGuInstance){
    
//trace("MeGuInstance");
    
this.scope.bugFunc();
    
this.scope.unloadFlashPaper();
    
this.scope.MeGuInstanceFunc();
    
//this.scope.test = function(){
    //    product.MeInInstance.enabled=true;
  
}else if (item == menu.openInstance){
    
meinOpen()
    
trace(item);
  }else if (
item == menu.closeInstance){
//    this.scope.unloadFunc();
//    this.scope.backToRootFunc();
    
this.scope.bugFunc();
  }else if (
item == menu.TeMeStInGuInstance){
//    this.scope.flashPaperFunc();
    //this.scope.onLoaded();
    
this.scope.bugFunc();
    }
}
product.addEventListener("change",listen); 
Vielleicht steigt da jemand durch und hat die Nacht ganz viel Langeweile und ist so lieb und gibt mir einen Tip oder vielleicht schon eine ganze Lösung???

Vielen Daaaaaaaaank im Vorraus,

bin nämlich kurz vom durchdrehen
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 20-08-2004, 10:51   #2 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Question Niemand eine Idee, woran's liegen kann???

Greetz
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 22-08-2004, 15:41   #3 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Unhappy S.O.S. (zum 2.) @ ALL

... uund auch hier keiner eine Idee für eine Lösung oder einen Workaround???

Greetz @ ALL
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 22-08-2004, 18:08   #4 (permalink)
Flash-holic
 
Benutzerbild von DeMoehn
 
Registriert seit: Nov 2003
Ort: Neunkirchen(Saar)
Beiträge: 988
Es ist ganz normal das ein INterval bei 25ms z.B mehr performance Lastig ist als bei 1sek. Weil es die Funktion ja immer und immer wieder in 25 millesekunden abspielen muss.Allerdings kannst du es ja mal mit einem onEnterFrame versuchen, allerdings finde ich persönlich die INtervalle besser.Dazu könntest du mal gewisse code stücke zeigen bei denen du denkst hier stimmt was nicht, und nich den ganzen code, is ja jede menge
__________________
Wer Großes versucht, ist bewunderswert, auch wenn er fällt.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)


DeMoehn ist offline   Mit Zitat antworten
Alt 23-08-2004, 04:40   #5 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Wink Re @ BAdBoYY

... ist mir schon klar, daß setInterval Performance lastig ist (wg. ständigen Aufrufens) - ist ja schließlich ein INTERVAL

Zitat:
Dazu könntest du mal gewisse code stücke zeigen bei denen du denkst hier stimmt was nicht, und nich den ganzen code, is ja jede menge
Das, was Du da unten siehst, sind "nur" Codefragmente, net der ganze Code (FYI - ich habe ca. 200 Menüeinträge, für jeden eine FlashPaperSWF mit min. 4 DinA4 Seiten Inhalt {max. 75 Seiten}). Kannst' Dir vorstellen, daß der Code für meine SCH*** MenuBar etc. noch wesentlich länger ist. Unten abgebildet ist, sind lediglich 2 Menüpunkte/der Listener/und 2 Func's, die (jeweils für den Menüpunkt) das FlashPaper gelade managen (sollen).

Und in eben dieser Func ist auch das Interval! Und das geht mir ziemlich auf die "Eier", weil es eben SCH*** Performancelastig ist (ab 30 Seiten SWF {obwohl net viel Byte} wird's schon übel!). Aber das ist ja nur unschön bzw. nervig - das 2. Phänomen ist seeeeeehr viel schlimmer, da es die ganze MenuBar SCH*** Komponente unbrauchbar macht. BTW: hab' da noch ein 3. Phänomen beobachtet (dürfte es eigentlich net geben!):
Basierend auf dem 2. Phänomen geschieht es, daß, wenn man auf den Untermenüanker "Menu Information" clickt, öffnet sich das Untermenü & bleibt offen, bis man den nächsten Menüpunkt anclickt. UND DANN FUNZT ES AUF EINMAL (was ja eigentlich net gehen dürfte, da man Untermenüanker net mit Aktionen etc. belegen kann!)!

Kann mir jemand das erklären??? Würd' ja mal gern wissen, was MM davon hält.

In diesem Sinne,

Greetz
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 29-07-2005, 11:58   #6 (permalink)
Big Kahuna
 
Benutzerbild von srichter
 
Registriert seit: Jun 2005
Ort: United Kingdom
Beiträge: 19
und ein Jahr spaeter... die Loesung.

Das ist ein Bug mit flashpaper, der zerfetzt das Focusmanagement.

Hier habe ich nen workaround:
http://www.flashcomguru.com/articles/flashpaperbug.cfm

Gruss

Stefan
srichter 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 06:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele