Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-09-2011, 15:27   #1 (permalink)
Neuer User
 
Benutzerbild von Maxxor
 
Registriert seit: Jun 2008
Ort: Düsseldorf
Beiträge: 11
Prototype Funktion mit Tween Class(es)

Hallo zusammen, ich habe ein ganz spezielles Problem. Ich kann leider nur ein bisschen mit AS2 und habe folgende Funktion geschrieben:

Code:
MovieClip.prototype.moveIn = function(xMove, yMove, moveSeconds):Void {
	xMoveTween = new Tween(this, "_x", Regular.easeOut, this._x, xMove, moveSeconds, true);
  	yMoveTween = new Tween(this, "_y", Regular.easeOut, this._y, yMove, moveSeconds, true);
	filterX = new BlurFilter(blurX, 2);  // Zahl ist Blur Qualität, 3 ist Gaussscher Weichzeichner, sehr rechenintensiv
	blurTween = new Tween(filterX, "blurX", Strong.easeOut, xBlur, 0, moveSeconds, true); 
	this.onEnterFrame = function() {
		this.filters = new Array(filterX);
		delete this;
	}
	blurTween.onMotionFinished = function(){
		delete filterX;
	}
}
Dazu gibt es ein Pendant "moveOut"...

Ich habe Folgendes und brauche Folgendes:

Ich habe 3 Elemente, die auf einer Bühne einmal in groß (einzeln vorne links) und einmal in klein vorkommen (also insgesamt 6 Elemente, wovon aber immer nur 3 gleichzeitig sichtbar sein sollen: Eins in groß vorne links und zwei in klein hinten rechts).

Ich möchte jetzt, dass "onMouseOver" (oder Press/Release) über/auf eines der kleinen Elemente hinten rechts dieses nach rechts herausanimiert wird und links vorne in groß (neues MC Objekt, neuer Instanzname aus Array "groß") wieder herein.

Die 6 MC´s (bzw. deren Instanznamen) verteilen sich auf zwei Arrays (einer für die 3 großen, einer für die 3 kleinen).

Alle diese Objekte sollen auch nicht gleichzeitig, sondern mit einem Versatz von 500ms (oder anders) animiert werden.

Kann sich das jemand vorstellen und mir grundlegend einen Tip geben, wie ich diese ganzen Objekte (moveFunktion, intervallFunktion und Arrays) anordnen muss, so dass onMouseOver (oder press/release) die richtigen MC´s bewegt werden? Es muss also gecheckt werden: Welcher eine der großen ist auf der Bühne? Welche zwei der kleinen sind auf der Bühne? Und entsprechende Animationen abgefahren werden...

Puhhh, voll kompliziert zu beschreiben, aber wer programmieren kann, der macht das bestimmt mit Links.

Grüße, Maxxor

Geändert von Maxxor (22-09-2011 um 08:35 Uhr) Grund: Trennung von Jobangebot und Suche nach Hilfe.
Maxxor ist offline   Mit Zitat antworten
Alt 21-09-2011, 15:40   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Hallo,
falls du ein Jobangebot aufgeben möchtest, nutze dazu bitte den entsprechenden
Bereich hier im Forum:
Jobangebote - Flashforum
(Bitte die Richtlinien beachten.)

Ansonsten kannst du natürlich nach Hilfe fragen. Aber bitte das sauber trennen,
Übrigens ist dein Code AS1.

Grüße
Sebastian
sebastian ist offline   Mit Zitat antworten
Alt 21-09-2011, 18:13   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
IMHO ist es übrigens nicht sonderlich sinnvoll, eine Funktion, die nur für 6 Objekte relevant ist, in MovieClip.prototype zu schreiben und so in alle MovieClips zu legen.

Besser wäre es, wenn die Funktion nur in den benötigen Objekten verfügbare wäre. Das erreicht man, indem man...
  • ...sie dort per Script hineinschreibt:
    PHP-Code:
    function moveIt(){
      
    //...
    }

    var 
    elements:Array = [mc1mc2mc3mc4mc5mc6];
    for(var 
    i:Number 0i<elements.lengthi++){
      
    elements[i].moveIt moveIt;

  • ...sie in der Zeitleiste des zugehörigen Symbols deklariert.
  • ...oder direkt eine entsprechende Klasse anlegt.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 22-09-2011, 08:33   #4 (permalink)
Neuer User
 
Benutzerbild von Maxxor
 
Registriert seit: Jun 2008
Ort: Düsseldorf
Beiträge: 11
Re:

Hallo Martin,

vielen Dank für Deinen Tip. Ich werde mich mal versuchen! Notfalls werde ich es einfach mit 6 FadeIn und FadeOt Tweens und if (bedingung){gotoAndPlay} lösen... ist zwar nicht so schön, aber was soll man machen, wenn man kein Hirn zum Programmieren hat

@Sebastian: AS1 ?!? Tatsächlich? Da gab es schon Tweening Klassen? Da sieht man mal, ich steck da echt nicht so richtig drin... leider...

Werde den Beitrag vom Jobangebot trennen

Danke für Eure Reaktionen!

Grüße aus Düsseldorf,
Chris
Maxxor ist offline   Mit Zitat antworten
Alt 22-09-2011, 08:45   #5 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
Zitat von Maxxor Beitrag anzeigen
@Sebastian: AS1 ?!? Tatsächlich? Da gab es schon Tweening Klassen? Da sieht man mal, ich steck da echt nicht so richtig drin... leider...
Es geht primär darum, welche Sprachkonstrukte man verwendet, nicht unbedingt
darum welche Klassen.

Ok, ich gebe zu, dass ich eine Typisierung (:Void) übersehen hatte. Das ist in
der Tat ein Element, was es erst in AS2 gab.

Die Erweiterung einer Klasse per Prototype ist aber etwas, was typisch AS1 ist.
Hier konnten Klassen und deren Methoden nur auf diese Weise definiert werden.
Eine native Klasse per protoype zu erweitern war damals auch
üblich - zwar auch nicht wirklich toll, aber beispielsweise konnte man ja
nicht einfach beliebige Subklassen von MovieClips hinzufügen.

In AS2 würde man aber im Idealfall schon mit richtigen Klassen arbeiten,
also mit dem Sprachkonstrukt class{} in einer externen Klassendatei und
dort die entsprechende Methode definieren.

(Was in AS2 übrigens beim Kompilieren zu einem protoype Konstrukt wird. )

Grüße
Sebastian
sebastian ist offline   Mit Zitat antworten
Alt 22-09-2011, 09:37   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Kleiner Exkurs, auch wenn as hier vielleicht etwas weit führt:
Zitat:
Zitat von sebastian Beitrag anzeigen
Die Erweiterung einer Klasse per Prototype ist aber etwas, was typisch AS1 ist.
Hier konnten Klassen und deren Methoden nur auf diese Weise definiert werden.
Man konnte in AS1 schon "echte Klassen" deklarieren, allerdings auf die murksige JavaScript-Art und leider nicht für Anzeigeobjekte:
PHP-Code:
function TestKlasse() {
    
    var 
privatProp "Ich bin private";
    
this.publicProp "Ich bin public";
    
    
this.getPrivate = function() {
        return 
privatProp;
    }
    
}

var 
instanz = new TestKlasse();

trace(instanz.publicProp); // Ich bin public
trace(instanz.getPrivate()); // Ich bin private
trace(instanz.privateProp); // undefined 
Gut möglich, das wir in Zukunft wieder häufiger auf diesen Murks zurückgreifen müssen, weil sie ja jetzt alle meinen, dass HTML5/JS sooooviel besser ist
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 22-09-2011, 09:58   #7 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
Zitat von sebastian Beitrag anzeigen
Hier konnten Klassen und deren Methoden nur auf diese Weise definiert werden.
Das meinte ich damit. Denn üblicher (und besser) war folgende Variante:
ActionScript:
  1. function TestKlasse() {   
  2. }
  3.  
  4. TestKlasse.prototype.getPrivate = function() {
  5. }
sebastian 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
Wer macht Flash-Galerie gegen Bezahlung? Doku2000 Flash Einsteiger 2 27-10-2008 18:58
suche gegen bezahlung programmierer wg. armbruch Beatrice1509 ActionScript 2 1 04-09-2007 12:10
Flash-Programmierer für kleines Projekt gegen Bezahlung gesucht! DonThomaso Flash und Datenbanken 1 16-05-2005 15:29
Wer erstellt mir eine .fla-File gegen Bezahlung? inocenti Flash und Datenbanken 1 16-01-2002 17:33


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

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


Copyright ©1999 – 2012 Marc Thiele