 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
01.04.2008, 23:36
|
#1
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
attacheMovie / removeMovieClip + fade in/out
Hi,
wenn ich auf der Bühne einen MC habe mit Instanznamen, dann ist es kein
Problem, diesen über die Transition-Class ein-, bzw. ausblenden zu lassen.
Wie aber erreiche ich das, wenn ich den MC via attachMovie auf die Bühne
hole und ihn beim RollOut wieder ausblenden lassen möchte?
Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//eigentlicher fade in Vorgang - aber wie umschreiben?
>>>>>>>>>>>> new Tween(bla, "_alpha", Strong.easeIn, 50, 0, 3, true);
test.onRollOver = function() {
attachMovie("testbox","bla" , this.getNextHighestDepth(), {_x:620, _y:410});
}
test.onRollOut = function() {
bla.removeMovieClip();
}
Wäre über nen Tipp sehr dankbar!
Gruß
Elli
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
02.04.2008, 01:06
|
#2
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo Elli,
hier kommt deine Lösung
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
test.onRollOver = function () {
var obj = attachMovie ("testbox", "bla", this.getNextHighestDepth (), {_x:100, _y:100});
new Tween (obj, "_alpha", Strong.easeIn, 0, 50, 1, true);
};
test.onRollOut = function () {
bla.removeMovieClip ();
};
|
|
|
02.04.2008, 07:02
|
#3
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Super, vielen Dank! Jetzt noch eins, wenn ich das Teil auch wieder ausblenden
möchte. Imo verschwindet es einfach. Hatte mal sowas probiert, allerdings
ohne Erfolg
Code:
test.onRollOut = function() {
new Tween (bla, "_alpha", Strong.easeOut, 0, 0, 1, true);
bla.removeMovieClip();
}
bzw. hatte ich anstatt bla obj drin. Beides wollte so nicht.
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
02.04.2008, 10:17
|
#4
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo,
hier ein Beispiel mit zwei Button
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
MovieClip.prototype.alphaTween = function (al) {
var tween_handler:Tween = new Tween (this, "_alpha", Strong.easeIn, this._alpha, al, 3, true);
tween_handler.onMotionFinished = function () {
(this.obj._alpha<=0) ? this.obj.removeMovieClip () : "";
trace (this.obj);
};
};
test.onRollOver = function () {
var obj = attachMovie ("testbox", "bla", _root.getNextHighestDepth (), {_x:100, _y:100});
this.target = obj;
obj._alpha = 0;
obj.alphaTween (100);
};
test.onRollOut = function () {
this.target.alphaTween (0);
};
test2.onRollOver = function () {
var obj = attachMovie ("testbox", "blubb", _root.getNextHighestDepth (), {_x:300, _y:100});
this.target = obj;
obj._alpha = 0;
obj.alphaTween (100);
};
test2.onRollOut = function () {
this.target.alphaTween (0);
};
|
|
|
02.04.2008, 21:51
|
#5
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Schluck, wollte ja "nur" ein Fenster ein und ausblenden  Dass man daraus
dann gleich so ne "Wissenschaft" machen kann  Nein, wunderbar. Werde mir
jetzt mal den Code zu Gemüte ziehen, um zumindest zu verstehen, warum
für so eine Aktion doch so viel Code nötig ist.
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
03.04.2008, 23:19
|
#6
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Kann ich mit "MovieClip.prototype" eine globale Funktion erstellen? Da ich die
Fenster jetzt doch erst via onRelease öffne (es sollen noch Links und so Sachen
dazu), brauche ich auf jeder Box einen Close Button. Diesen als Schaltfläche
zu erstellen und damit
Code:
on(release) {
_parent.test.gotoAndPlay(16);
this.alphaTween (0);
}
das Fenster wieder auszublenden, ist nicht das Thema. Mich würde halt
interessieren, obs da nen vielleicht eleganteren Weg gibt > Func, die
eben den MC "close_button" anspricht und die Box wieder ausfadet. Habs
z.B. mit "bla.close_btn.onRelease..." probiert, aber der Button wird damit
nicht erkannt.
Last but not least: Angenommen, ich öffne über einen Button eine Box,
dann kann ich diese ja über den besagten Button schließen. Zudem hätte
ichs noch gerne so, dass sich dabei eine noch offene Box schließt. Wie könnte
ich das am elegantesten anstellen, ohne jetzt bei jedem Button alle anderen
Boxennamen aufführen zu müssen?
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
04.04.2008, 00:57
|
#7
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo Elli,
ein Prototype ist in dem Sinne schon global.
Das hier löst schonmal dein Problem, wenn ein anderes Object aktiv ist.
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var aktivMC:MovieClip;
MovieClip.prototype.alphaTween = function (al) {
var tween_handler:Tween = new Tween (this, "_alpha", Strong.easeIn, this._alpha, al, 3, true);
tween_handler.onMotionFinished = function () {
(this.obj._alpha<=0) ? this.obj.removeMovieClip () : "";
trace (this.obj);
};
};
test.onRelease = function () {
var obj = attachMovie ("testbox", "bla", _root.getNextHighestDepth (), {_x:100, _y:100});
aktivMC.alphaTween (0);
aktivMC = obj;
this.target = obj;
obj._alpha = 0;
obj.alphaTween (100);
};
test2.onRollOver = function () {
var obj = attachMovie ("testbox", "blubb", _root.getNextHighestDepth (), {_x:300, _y:100});
aktivMC.alphaTween (0);
aktivMC = obj;
this.target = obj;
obj._alpha = 0;
obj.alphaTween (100);
};
dein Closebutton erstellst du dann so
PHP-Code:
on(release)
{
this._parent.alphaTween (0);
}
|
|
|
04.04.2008, 12:31
|
#8
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Schon mal vielen Dank
Noch ne Sache zu den aktiven Objekten. Imo habe ich nur eine Box zum
Testen. Beim onRelease öffnet sich die Box, mit dem Schließen-Button
wirds wieder geschlossen. Da ich den Close-Button auf die Box gesetzt habe,
habe ich das _parent rausgenommen, denn ansonsten blendet er mir die
ganze Bühne aus.
Und das 2. Phänomen: wenn ich auf den Button erneut klicke, wird die Box
ein und sofort wieder ausgeblendet. Erst, wenn ich diesen Teil auskommentiere >
aktivMC = obj; ist dieser Effekt weg. Ne Idee, wodurch das verursacht werden
könnte?
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
04.04.2008, 13:16
|
#9
|
|
TP-Moderator
Registriert seit: Mar 2002
|
ja durch einen Gedankenfehler von mir, ersetze mal
aktivMC.alphaTween (0);
durch das hier 
(aktivMC != obj)? aktivMC.alphaTween (0) : "";
da ich den Aufbau deines Filmes nicht kenne, kommt es natürlich mal vor dass ich eine Pfadangabe falsch setze, wie zum Beispiel mit dem _parent 
|
|
|
04.04.2008, 15:12
|
#10
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Klasse, nun klappts
Zu guter letzt happerts jetzt noch an einer Sache > aktiver Button-Status.
Fährt man über nen Button, dann wird dieser aktiv dargestellt. onRollOut
zeigt er sich wieder in seinem ursprünglichen Zustand. Eigentlich dachte ich,
dass ich dann in das onRelease den Button auf aktiv schalten kann, allerdings
wird wohl wieder die onRollOut zuletzt ausgeführt und der Button stellt sich
wieder zurück :-/
Daraufhin habe ich diesen Aufruf in die Box geschrieben, was auch soweit
funzt. Den Button Zurücksetzen beim Klick auf den Close-Button ist auch
kein Problem. Wo ich jetzt aber noch etwas hänge, ist dieser dynamische
Teil. Sprich, wenn man einen anderen Button anklickt, dann schließt sich
ja ebenfalls das aktive Fenster. Jetzt weiß ich einfach noch nicht, wie man
hier auch noch den jeweils aktiven Button zurücksetzen kann?! Vielleicht
kannst du mir hier noch auf die Sprünge helfen, wie einfach alle Buttons von
btn_1 - btn_8 auf gotoAndStop(1) setzen kann? Merci
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
04.04.2008, 15:37
|
#11
|
|
TP-Moderator
Registriert seit: Mar 2002
|
meinst du es so?
PHP-Code:
var aktivBTN:MovieClip;
bt_1.onRelease = function () {
(aktivBTN != this) ? aktivBTN.gotoAndStop (1) : "";
aktivBTN = this;
};
|
|
|
04.04.2008, 16:11
|
#12
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Tiptop! Könntest du das vielleicht noch ganz kurz kommentieren, was hier
geschieht? Denn diese Art von Funktion braucht man doch häufiger 
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
04.04.2008, 19:53
|
#13
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Meinst du diese hier ?
PHP-Code:
//Deklaration einer Variable
var aktivBTN:MovieClip;
bt_1.onRelease = function () {
//verkürzte IF-Abfrage, ist der Inhalt von der Var ungleich von Button, wird der Befehl ausgeführt
(aktivBTN != this) ? aktivBTN.gotoAndStop (1) : "";
//Schreibt in der Varibale den Pfad und Instanznamen des Aktiven Button
//
trace(this) // ausgabe: _level0.bt_1;
aktivBTN = this;
};
|
|
|
07.04.2008, 11:25
|
#14
|
|
TP-Insider
Registriert seit: Nov 2002
Ort: Orscholz
|
Ja, genau das meinte ich.
Jetzt noch eine Frage bezüglich der Dateigröße. Ich habe im ersten Bild
nur einen kleinen Preloader (8 KB) liegen und ein Logo (5 KB). Dennoch
zeigt mir der Bandbreiten-Dialog über 64 KB an, die er im ersten Frame
laden will. Erst im 2. erscheinen die Background-Grafik, sowie das AS
zum attachen der Movies. Woran kann denn sowas liegen?
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
|
|
|
07.04.2008, 12:10
|
#15
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo,
alle Objekte die in der Bibliothek verknüpft sind, werden auf dem ersten Schlüsselbild geladen und werden daher von keinem Preloader erfasst.
|
|
|
| |