getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 16.02.2008, 14:59   #1
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe

Wie Funktion aufrufen - Sliding


Hi,

ich steh gerade aufm Schlauch, aber ich habe eine Funktion, die ich aufrufen
möchte, wenn ich einen Button klicke.

Beim Klick auf den Button soll ein anderer MC mittels TransitionManager Class
aus dem sichtbaren Bereich der Bühne verschoben werden. Die Funktion klappt
einwandrei, wenn ich ein onRelease direkt auf den MC lege, der verschwinden
soll. Allerding möchte ich diese Funktion eben nicht direkt auf dem betroffenen
MC haben, sondern eben von einem anderen aurufen.

Code:
Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;

// Tween object used to fade the button clip
var slideTween:Tween;

// Other stuff for the tween
var func:Function = Regular.easeOut;
var duration:Number = .5;

// Set button events > Slide Function

function slideLeft ():Void 
{
	var begin:Number = this._x;
	var end:Number = -150;
	slideTween = new Tween (this, "_x", func, begin, end, duration, true);
}
ausführender Button > btn1
Code:
btn1.onRelease = function() {
//setzt vari auf single, falls so, wird im v4 swf eine andere func ausgeführt
	btn1.gotoAndPlay(9);
	btn2.gotoAndPlay(16);
	btn3.gotoAndPlay(22);
	btn4.gotoAndPlay(31);
        //hier sollte der Aufruf für slideLeft erfolgen, angewand auf 4 MCs
}
Wie muss ich die Func hier schreiben, damit sie ausgeführt wird?

Zum Schluss würde mich noch interessieren, wie man all die gotoAndPlays
zusammenfügen kann, weil ich ein und denselben Aufruf bei mehreren Button
habe (hier verschwinden die Buttons nämlich wieder). Dasselbe wäre ja auch
bei der slideLeft Func, weil ich die auch gleichzeitg auf 4 MCs anwenden
müsste.

Vielen Dank
Elli
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist offline   Mit Zitat antworten
Linktipp

Alt 16.02.2008, 15:27   #2
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo Elli,

wenn ich das jetzt richtig Verstanden habe, meinst du sowas:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//Instanznamenznamen deiner Button und deren Playziel
var btArray:Array = new Array ([btn19], [btn216], [btn322], [btn422]);
//Instanznamen deiner MCs
var mcArray:Array = new Array (mc_1mc_2mc_3mc_4);

// Tween object used to fade the button clip
var slideTween:Tween;

// Other stuff for the tween
var func:Function = Regular.easeOut;
var 
duration:Number .5;

// Set button events > Slide Function

MovieClip.prototype.slideLeft = function ():Void  {
    var 
begin:Number this._x;
    var 
end:Number = -150;
    
slideTween = new Tween (this"_x"funcbeginenddurationtrue);
};

function 
bt_release () {
    for (var 
0i<btArray.lengthi++) {
        var 
obj btArray[i][0];
        
obj.gotoAndPlay (btArray[i][1]);
    }
    for (var 
0i<mcArray.lengthi++) {
        var 
obj mcArray[i];
        
obj.slideLeft ();

    }
}
btn1.onRelease = function () {
    
bt_release ();
}; 
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 16.02.2008, 20:32   #3
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe
Hallo Wanderratte,

schon mal vielen Dank! Durch das Zusammenfassen in ein Array wird das schon
viel übersichtlicher

Jetzt habe nich noch 2 Fragen:
1.:
Code:
var obj = btArray[i][0];
obj.gotoAndPlay (btArray[i][1]);
Das [i] steht ja für die im Array gespeicherten MCs. Was aber wird mit [0],
bzw. [1] genau bewirkt?

2.:
Leider klappts mit der Slide-Func, so wie sie jetzt ist, noch nicht wirklich.
Es wird zwar geslided, aber dummerweise alles > mcArray + btArray. Es soll
ja aber nur das, was im mcArray ist, von der Bühne verschwinden. Ne Idee,
warum er alle nimmt?
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist offline   Mit Zitat antworten
Alt 16.02.2008, 21:26   #4
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo Elli,
also [btn1, 9] ist ein mehrdimensionales Array,
Wenn du zum Beispeil
trace(btArray[0]) schreibst kriegst du folgende Ausgabe btn1, 9
bei trace(btArray[0][0]) folgende btn1 und bei trace(btArray[0][1]) = 9
Bildlich gesehen, erstellst du damit ein Array im Array und es wird genaus behandelt wie ein normales Array und fängt bei 0 an.

So der erste Wert enthält den Namen des Button, der zweite Wert wohin er gehen soll.
var obj = btArray[i][0];
Ist nicht unbedingt Notwendig, aber ich mache es so aus Grunde der Übersichtlichkeit.
Du kannst alternativ auch ein Assoziatives Array nehmen, die Syntax würder wie folgt lauten:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//Instanznamenznamen deiner Button und deren Playziel
var btArray:Array = new Array ({button:btn1goto:9button:btn2goto:16button:btn3goto:22button:btn4goto:22});
//Instanznamen deiner MCs
var mcArray:Array = new Array (mc_1mc_2mc_3mc_4);

// Tween object used to fade the button clip
var slideTween:Tween;

// Other stuff for the tween
var func:Function = Regular.easeOut;
var 
duration:Number .5;

// Set button events > Slide Function

MovieClip.prototype.slideLeft = function ():Void  {
    var 
begin:Number this._x;
    var 
end:Number = -150;
    
slideTween = new Tween (this"_x"funcbeginenddurationtrue);
};

function 
bt_release () {
    for (var 
0i<btArray.lengthi++) {
        var 
obj btArray[i].button;
        
obj.gotoAndPlay (btArray[i].goto);
    }
    for (var 
0i<mcArray.lengthi++) {
        var 
obj mcArray[i];
        
obj.slideLeft ();

    }
}
btn1.onRelease = function () {
    
bt_release ();
}; 
Kurz zu Erklärung:
Du setzt innerhalb des Arrays
var btArray:Array = new Array ({button:btn1, goto:9, button:btn2, goto:16, button:btn3, goto:22, button:btn4, goto:22});
Variablen, die du dann ausliest. Bei größeren Arrays mit mehreren Werten ist es nach meiner Meinung einfacher zu Händeln, weil man dann die Stellen nicht abzählen brauch und jede Position einen Namen hat und auch sofort weißt was drin stehen sollte. Auch kann sich die Reihenfolge ändern und du kriegst trotzdem immer den Richtigen Wert
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 16.02.2008, 21:38   #5
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe
Fein, damit wäre Frage eins tip top beantwortet

Wenn dir jetzt noch ne Idee zu Frage 2 einfallen würde ...
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist offline   Mit Zitat antworten
Alt 16.02.2008, 21:55   #6
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hänge mal die Fla hier dran, ich kann den Fehler nicht reproduzieren.
Die Function
PHP-Code:
function bt_release () {
    for (var 
0i<btArray.lengthi++) {
        var 
obj btArray[i].button;
        
obj.gotoAndPlay (btArray[i].goto);
    }
    for (var 
0i<mcArray.lengthi++) {
        var 
obj mcArray[i];
        
obj.slideLeft ();

    }

Steuert einmal das Tweening für die MCs und sollte die Button abspielen.
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 18.02.2008, 19:43   #7
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe
So, nach einem Tipp von Wanderratte, hat sich das Problem nun gelöst. Ich
hatte mich nur auf die Arrays und so konzentriert und einen wichtigen Part
außer Acht gelassen:
Code:
MovieClip.prototype.slideLeft = function ():Void  {
    var begin:Number = this._x;
    var end:Number = -400;
    slideTween = new Tween (this, "_x", func, begin, end, duration, true);
};
Aus der slideLeft Func musste ein Prototyp erstellt werden, da sonst _level0
geslidet wird, also die ganze Bühne und nicht nur die gewollten MCs.

Nochmals Dank für die Hilfe
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash > Flash 8
Wie Funktion aufrufen - Sliding Wie Funktion aufrufen - Sliding
« FadeIn auf dynamische Texte | Blocksatzvorgaben in Flash 8 (statischer Text) »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:21 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67