tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
4175
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Leugim
    Leugim Leugim ist offline Mitglied Brokat
    Registriert seit
    Aug 2003
    Ort
    Argentinien (Buenos Aires)
    Beiträge
    484
    Also gut.. Ich bin nu wieder da und mit im Koffer ein schickes Packet an Fragen..

    Wir sehen in der Uni momentan, wie muster generiert werden können und da hab ich mich entschlossen, solche (simplen) Muster mit Flash animiert zu realisieren..
    Es geht nicht um die Berechnung dieser Musters...
    Vielmehr habe ich schon ein seeehr einfaches gemacht:
    http://www.migues.com.ar/trama.htm
    Da kann man begrenzt das Muster beeinflussen (?).
    Nun kommen wir zu meinem Fragen-packet. Der aufbau des Beispiels ist relativ einfach. Es handelt sich um 14 Streifen, mit jeweils 5 instanzen der gleichen animation: Ein schwarzes cuadrat, das sich dreht.

    nun lass ich diese per onEnterFrame abrufen, ob sie nun abspielen sollen, oder nicht....
    Klappt alles ganz ordentlich, bis auf dass ich mal nen Blich auf die Processorauslastung geworfen habe und da gruselige 80% standen. Dieses Beispiel soll ja mal später noch viel umfangreicher werden!

    Wie kann ich da ein bisschen Leistung sparen?
    Auf jedem Cuadrat-MC liegt folgender Code:
    PHP-Code:
    onClipEvent (enterFrame) {
          if (
    _parent.pl) {
              
    play();
          } 
          
    delete this.onEnterFrame;
      } 
    Aber irgendwie ging, als ich den delete-befehl dazuschrieb, die Processosorauslastung keinen deut runter... *schäm*

    Ein weiterer schonheitsfehler ist, wie ich die Verzögerung der animation einleite...
    Auf Spanisch würde man "A lo bruto" sagen.. ("Mit dem Kopf durch die Wand" oder so ähnlich)naja..
    auf dem Button der die Animation starten liegt folgender code:
    PHP-Code:
        this.t1.pl true;
          var 
    milisecs this.milcont.mil.text;
          
    // Milisekunden, die gewartet werden sollen 
          
    this.stop();
          var 
    IV setInterval(function () {
              
    moveOn();
          }, 
    milisecs);
          function 
    moveOn() {
              
    this.t2.pl true;
          } 
    Wobei das nur ein Auschnitt ist.. eigentlich geht der Code noch ne ganze ecke runter, weil jeder streifen (t1 bis t7 und s1 bis s7) die variable "pl" = true; (immer jeweils verzögert) bekommen.. Wobei ich bei jedem Streifen die function moveOn(); andersbenennen muss..
    Irgendwie so reingarnicht die schönste Lösung.. ich hab schon einen "For" versuch hintermir, aber da habe ich es partout nicht hingekriegt, dass die Streifen verzögert anfangen abzuspielen..... die haben dann alle gleichzeitig angefangen...
    Tja das wars dann erstmal.......... Der verzögerungscodeschnippsel stammt von irgendwo hier aus dem Forum...

    Ich hoffe mal irgendwer erbarmt sich meiner und greift mir unter die Arme..
    Danke schon mal !
    Miguel
    Geändert von Leugim (10.10.05 um 02:58 Uhr)
     
    Zeitverschiebung...

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    ich vermute, dass bei Dir ein Intervall nicht gelöscht wird, nachdem alle Reihen abgearbeitet sind. Wenn Du alles übersichtlich strukturierst (dazu gehört auch, z.B. keine Intervalle in lokalen Variablen zu speichern), sollten solche Probleme nicht mehr auftreten (Im Anhang mal ein Beispiel, das nur mit setInterval und onEnterFrame arbeitet).

    Allgemein entstehen Performanceeinbußen eher durch das erforderliche Neuzeichnen vieler Objekte und weniger durch onEnterFrame-Methoden. Wenn es Dir um komplexe Muster mit vielen Instanzen geht, ist Flash möglicherweise nicht die richtige Plattform - ich würde mich dann wohl eher in Richtung C/C++ oder Assembler (siehe PC-Demos) orientieren.

    Gruß
    .
    Angehängte Dateien Angehängte Dateien
     

  3. #3
    Avatar von Leugim
    Leugim Leugim ist offline Mitglied Brokat
    Registriert seit
    Aug 2003
    Ort
    Argentinien (Buenos Aires)
    Beiträge
    484
    Hallo ! tausend Dank für deine Hilfe.
    Aber eine verständniss Frage hätte ich doch noch:
    PHP-Code:
    var ang 0;
     var 
    rspd 0.05;
     var 
    freq 1;
     var 
    rad 30;
     
     function 
    go() {
         
    this.onEnterFrame = function() {
             
    ang += (rspd dir);
             if (
    ang >= Math.PI 2ang -= Math.PI 2;
             if (
    ang <= 0ang += Math.PI 2;
             
    this._rotation ang Math.PI 180;
             
    this._xscale 100 Math.sin(ang freq) * rad;
             
    this._yscale this._xscale;
             
    trace(ang);
         }
     } 
    Wofür genau ist die Variable "ang" da? Ich konnte mir da irgendwie nicht so richtig einen Reim draus machen..
    Danke!
     
    Zeitverschiebung...

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    "ang" steht für "angle" und ist der Winkel der Rotation. Ich verwende den Winkel im Bogenmaß (macht sich beim Sinus einfacher, der ebenso im Bogenmaß angegeben wird) und rechne ihn für die Rotation ins Gradmaß um.

    Dieser ganze Block befasst sich nur mit der Animation der Blöcke: Du kannst selbstverständlich weiterhin eine Zeitleistenanimation verwenden, wobei die Funktion go() lediglich ein "play()" anstoßen müsste.

    Gruß
    .
     

  5. #5
    Avatar von Leugim
    Leugim Leugim ist offline Mitglied Brokat
    Registriert seit
    Aug 2003
    Ort
    Argentinien (Buenos Aires)
    Beiträge
    484
    Dann habe ich deine Lösung verstanden. Kommt nur noch das selber-bauen und sicherlich noch ein oder zwei Fragen ..
    Vielen Dank.
    Miguel
     
    Zeitverschiebung...

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  2. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49
  3. Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
    Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 27.05.05, 15:29
  4. Antworten: 2
    Letzter Beitrag: 19.05.05, 19:51
  5. <meta name="robots" content="noindex"> Nähere Fragen
    Von Avariel im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 08.10.03, 16:42