Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-07-2004, 05:58   #1 (permalink)
For girls only!!!
 
Registriert seit: Mar 2004
Beiträge: 250
Code optimieren

Ich würde gerne folgendes ActionScript noch ein wenig zusammenfassen um die Flexiblität zu optimieren. Und ich würde gerne _root durch relative Adressierungen ersetzen. Hat vielleicht irgendjemand eine Idee wie ich das angehen könnte?
ActionScript:
  1. var menus = new Object();
  2. menus.products = 0;
  3. menus.company = 0;
  4. menus.contact = 0;
  5. //invisible Button
  6. this.inv_btn.onRollOver = function() {
  7.     for (var proberty in menus) {
  8.         if (menus[proberty] == 1) {
  9.             _root[proberty+"menu_mc"].gotoAndPlay('slideup');
  10.             menus[proberty] = 0;
  11.         }
  12.     }
  13. };
  14. //slide function
  15. function slide(slidedown:String, slideup:Array) {
  16.     for (var button in slideup) {
  17.         if (menus[slideup[button]] == 1) {
  18.             _root[slideup[button]+"menu_mc"].gotoAndPlay("slideup");
  19.             menus[slideup[button]] = 0;
  20.         }
  21.     }
  22.     if (menus[slidedown] == 0) {
  23.         _root[slidedown+"menu_mc"].gotoAndPlay("slidedown");
  24.         menus[slidedown] = 1;
  25.     }
  26. }
  27. //products menu
  28. this.products_btn.onRollOver = function() {
  29.     var down = "products";
  30.     var up = new Array("contact", "company");
  31.     slide(down, up);
  32. };
  33. //company menu
  34. this.company_btn.onRollOver = function() {
  35.     var down = "company";
  36.     var up = new Array("contact", "products");
  37.     slide(down, up);
  38. };
  39. //contact menu
  40. this.contact_btn.onRollOver = function() {
  41.     var down = "contact";
  42.     var up = new Array("products", "company");
  43.     slide(down, up);
  44. };
schrankwand ist offline   Mit Zitat antworten
Alt 13-07-2004, 06:52   #2 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
hallo

also warum du dir so viel streß machst du hast hier meiner ansicht nach ein statisches menu das du dynamisch aussehen lassen willst

statisch darum weil du jedesmal wenn ein neuer hinzukommt in allen anderen punkten auch etwas ändern mußt und besonders flexibel ist das nicht

wie ich es aufbauen würde :

PHP-Code:
var menu = new Array("punkt1","punkt2",...,"punktn");
for(var 
btn in menu)
{
  
mc this.createEmptyMovieClip("btn_" btn,btn);
  
mc.target menu[btn];
  
mc.active 0;
  
mc.onRollOver = function()
  {
    for( var 
prob in this._parent.menu)
    {
       if(
this._parent["btn_" prob].active == 1
       {
          
this._parent["btn_" prob].gotoAndPlay("whatever");
          
this._parent["btn_" prob].active 0;
       }
    }
  }
  
mc.onRollOut = function()
  {
      ... 
und hier genauso ...
  }

hat zwar auch seine nachteile aber ist zumindest das was ich unter dynamisch verstehe - da kannst du später dann auch locker ne XML-Datei o.ä. ranhängen ums noch dynamischer zu machen

und um (quell)code nicht irgendwo doppelt zu haben schreibst du alles was von mehreren verschiedenartigen elementen gebraucht wird in prototype's

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv ist offline   Mit Zitat antworten
Alt 13-07-2004, 17:37   #3 (permalink)
For girls only!!!
 
Registriert seit: Mar 2004
Beiträge: 250
Das würde nicht klappen, da sich das menü nicht beim rollOut des Buttons schon sondern erst beim RollOver eines der anderen beiden Button oder der unsichtbaren Schaltfläsche deaktivieren soll.

Außerdem bezweifel ich das das mit this._parent funktioniert.
schrankwand ist offline   Mit Zitat antworten
Alt 13-07-2004, 18:06   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
haste des mal ausprobiert @ schrankwand?
pape ist offline   Mit Zitat antworten
Alt 13-07-2004, 18:26   #5 (permalink)
For girls only!!!
 
Registriert seit: Mar 2004
Beiträge: 250
was meinste? das mit this_parent anstatt _root? also das hab ich ausprobiert sowie nur _parent und nur _root alleine und beides funktionierte nicht als ich es in meinem skript eingefügt habe.
schrankwand ist offline   Mit Zitat antworten
Alt 14-07-2004, 01:22   #6 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
ne, dein Menü nach der Vorlage von tolleiv aufzubauen!
wie gesagt ist das Stichwort : "dynamisch"!
und die RollOvers kannste ja durch Das ersetzen, was du brauchst/willst.

Robert
pape ist offline   Mit Zitat antworten
Alt 14-07-2004, 06:59   #7 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
ihr seit ja süß

@schrankwand - das war nur ein vorschlag den ich so oder ähnlich schon öfter genutzt habe was du in die funktionen reinpackst ist dein ding aber du solltest nicht einfach sagen das etwas nicht funktioniert wenn du es nicht versuchst
und das ich dir hier kein fertig gescriptetes menu hinpack wenn du nach optimierungsvorschlägen fragst sollte auch klar sein

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv 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 23:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele