| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
| FadeIN und Out mit mehreren Objekten !gleichzeitig!
Hallo liebe Community! Ich bin dabei einen Videoplayer zu erstellen. Jedoch möchte ich meinen eigenen Player einrichten und natürlich einige extrafunktionen einbauen. Ich habe mich in den letzten 2 Tagen stark mit Fades beschäftigt. Einen einfachen FadeIn und Out darzustellen ist kein Problem. Jedoch, mein Problem: Ich möchte, dass die Kontrolleiste vom Videoplayer beim RollOut schön ausgeblendet wird (wird langsam transparent.) Dasselbe umgekehrt, wenn man mit der Maus wieder über die Leiste fährt, dass sie wieder langsam erscheint. Die Kontrolleiste enthält aber mehrere Movieclips. Folgende sind dabei: controlBar = die komplette Leiste playPause = play/Pause Button rewindButton = "zurück zum Anfang"-Button loader = Ladebalken, wie weit Video schon geladen ist mute = Soundeinstellung Leider bring ichs nicht dazu, alle gleichzeitig einzublenden und auch gleichzeitig auszublenden, wie z.b. in Youtube. Folgenden Code hab ich bisher, aber der schaffts leider nur mit einem einzigen Objekt, hier controlBar: Code: inS = 5;
outS = 5;
controlBar._alpha = 0;
controlBar.onRollOver = function(){
this.onEnterFrame = function(){
this._alpha += inS;
if(this._alpha > 85){
this._alpha = 85;
delete this.onEnterFrame;
}
}
}
controlBar.onRollOut = function(){
this.onEnterFrame = function(){
this._alpha -= outS;
if(this._alpha < 0){
this._alpha = 0;
delete this.onEnterFrame;
}
}
} Ich hoffe ihr könnt mir helfen! Danke schonmal im Voraus ![]() Chris |
| | |
| | #2 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
Um mehreren Dingen das gleichzeitige Verschwinden zu ermöglichen, stecke sie alle in einen container movieclip (MC) und fade diesen aus. Glückwunsch das du dich mit den Fades durchgeboxt hast und ein Erfolgserlebnis hattest, das ist immer eine wichtige Sache, auch selbst etwas auf die Beine zu stellen. "Programmieren" ist eigentlich Latein und bedeutet "bezahlte Faulheit". Also tue niemals etwas selbst, das schon vor dir jemand getan hat. Fades sind Animationen. Animationen sind Änderungen bestimmter Eigenschaften über eine Zeitspanne. In Flash nennt man so was auch Tween. Für Tweens gibt es fertige Engines, die dir die Arbeit (und Zeit) abnehmen. Getting Started Tweening « GreenSock
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #3 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
|
Danke für die superschnelle Antwort! Doch leider hab ich mit dieser Antwort schon gerechnet. Genau das hab ich nämlich schon Probiert, aber wenn ich alle zusammen zu einem Symbol zusammenfasse, dann kann ich anschließend die Buttons nicht mehr betätigen, sondern der Film läuft ers gar nicht ab (weil ich kein autoplay wollte, sondern erst mit klick auf "play" der Film gestartet werden sollte!) Ich wünschte man könnte das zusammengefasste Symbol "eine Ebene tiefer" als die Kontrolleiste selber legen, doch das funktioniert auch nicht irgendwie. DIe Ebenen verlaufen folgendermaßen: controls = Buttons controlBar = Kontrolleiste video = Video actions = ActionScript Code.. Ich hoffe es gibt noch einen anderen Lösungsweg. |
| | |
| | #4 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
achja, ich vergaß. Du musst dem container einen instanznamen geben (so wie du es auch bei den Steuerelementen gemacht hast). Um zu deinen Knöpfen zu kommen (um diese anzusprechen) musst du nun, wenn du auf der Hauptzeitleiste bist, über den container gehen. Sei der isntanzname "container" also zB: PHP-Code: Edit: dein altes skript würde so wie es war funktionieren, wenn du es auf die Zeitleiste des containers legst. Das ist aber Tineff hoch drei, weil du dann irgendwann nicht mehr durchsiehst wo welcher code steht, also immer schön auf der Hauptzeitleiste bleiben.
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick Geändert von milchreis (14-07-2011 um 22:30 Uhr) |
| | |
| | #5 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
|
Habe es geändert, funktioniert nicht ganz. Die Buttons lassen sich nicht ansprechen... Ganzer Code: Code: var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
theVideo.attachVideo(ns);
ns.play("video.flv");
ns.pause();
// Controls
// Controlbar
inS = 5;
outS = 5;
fadeBlock._alpha = 85;
fadeBlock.onRollOver = function()
{
this.onEnterFrame = function()
{
this._alpha += inS;
if(this._alpha > 85)
{
this._alpha = 85;
delete this.onEnterFrame;
}
}
}
fadeBlock.onRollOut = function()
{
this.onEnterFrame = function()
{
this._alpha -= outS;
if(this._alpha < 0)
{
this._alpha = 0;
delete this.onEnterFrame;
}
}
}
// Rewind
fadeBlock.rewindButton.onRollOver = function()
{
this.gotoAndStop("rewindOver");
}
fadeBlock.rewindButton.onRollOut = fadeBlock.rewindButton.onReleaseOutside = function()
{
this.gotoAndStop("rewind");
}
fadeBlock.rewindButton.onRelease = function()
{
ns.seek(0);
}
// Play - Pause
fadeBlock.playPause.onRollOver = function()
{
if(this._currentframe == 1)
{
this.gotoAndStop("playOver");
}
else
{
this.gotoAndStop("pauseOver");
}
}
fadeBlock.playPause.onRollOut = fadeBlock.playPause.onReleaseOutside = function()
{
if(this._currentframe == 10) this.gotoAndStop("play");
else this.gotoAndStop("pause");
}
fadeBlock.playPause.onRelease = function()
{
if(this._currentframe == 10)
{
this.gotoAndStop("pauseOver");
ns.pause();
}
else
{
this.gotoAndStop("playOver");
ns.pause();
}
} Wenn ich den Code umändere, bei Fadeteil in: Code: fadeBlock.controlBar.onRollOver.... |
| | |
| | #6 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
In As2 ist es so nicht möglich zwei gleiche Eventmethoden in einer verschachtelten Struktur zu haben. Also Container mit onRollOver und ein Etwas im Container auch mit onRollOver. Allerdings bin ich aus As2 auch schon eine Weile raus. Mir fällt die Umgehung dieses Problem im Moment nicht ein, aber hier gibt's ja noch andere Leute die auf dem Gebiet bewandert sind =)
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #8 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Ja, lässt es sich. Da Du dann aber quasi wieder bei 0 anfangen musst, dürfte Du dafür in andere Problem rennen. Hast Du schonmal mit AS3 gearbeitet?
__________________ 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! |
| | |
| | #9 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
|
Nicht wirklich. Ich habe gestern ein bisschen gestöbert, was die unterschiede betrifft. Aber so viele unterschiede gibt es ja nicht, jedenfalls gibt es keine unterschiede wenn ich mein script in AS 3 verfassen würde, außer dass es dann funktioniert... Das mit dem von 0 anfangen ist kein problem, ging ziemlich schnell ![]() Danke euch! Ich werde heute abend mal probieren, dann melde ich mich wieder. |
| | |
| | #10 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Trotzdem ist sowas ein guter Anlass sich in AS3 einzuarbeiten. Diesem ActionScript-Dialekt gehört nämlich in jedem Fall die Zukunft.
__________________ 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! | |
| | |
| | #11 (permalink) | |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
| Zitat:
Jede Frage zu As3 beantworte ich lieber als eine zu As2. Also nur Mut. In den letzten 5 Jahren ist einiges passiert. Migrating from ActionScript 2 to ActionScript 3: Key concepts and changes | Adobe Developer Connection Weiter Links in Martins Signatur beachten!
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick | |
| | |
| | #12 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
|
Wenn ich mir das so anseh, beudeutet das, korrigiert mich, falls ich falsch liege, dass die Objekte nicht mehr über die Instanznamen angesprochen werden, sondern über Klassen, und dass ActionScript auf Frames anstatt auf die Objekte zugreift? (Von deinem Link, milchreis) Ist ja eher schon OffTopic hier, aber diese eine Frage tuts noch ![]() Chris |
| | |
| | #13 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Objekte und Instanznamen gibt es immer noch (auch wenn letztere lange nicht mehr so wichtig sind, wie in AS1/2). Klassen sind sowas wie Baupläne für Objekte (vgl. Symbole vs. Instanzen). Und wo Du warum mit AS auf Frames zugreifen willst ist mir schleierhaft..
__________________ 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! | |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Feb 2006
Beiträge: 468
|
wenn es unbedingt as2 sein soll , könntest das problem mit "hitTest" lösen. beispiel: PHP-Code: |
| | |
| | #15 (permalink) |
| Matrixbenutzer Registriert seit: Jul 2011
Beiträge: 7
|
Super, genau das hab ich gebraucht! Doch leider gibt es immer noch ein Problem... Die Buttons wechseln ihre Farben zwar, aber betätigen kann man sie immer noch nicht. Ich habe für meinen Player das Script etwas erweitert, doch leider lassen sich die Buttons nicht betätigen. ganzer Code: Code: var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
theVideo.attachVideo(ns);
ns.play("video.flv");
ns.pause();
// Controls
// Controlbar
inS = 5;
outS = 5;
fadeBlock._alpha = 85;
fadeBlock.onRollOver = function()
{
this.onEnterFrame = function()
{
this._alpha += inS;
if(this._alpha > 85)
{
this._alpha = 85;
delete this.onEnterFrame;
}
}
}
fadeBlock.onRollOut = function()
{
this.onEnterFrame = function()
{
this._alpha -= outS;
if(this._alpha < 0)
{
this._alpha = 0;
delete this.onEnterFrame;
}
}
}
fadeBlock.onMouseMove = function() {
var bo_rewindButton:Boolean = this.rewindButton.hitTest(_root._xmouse, _root._ymouse, true);
if (bo_rewindButton == true) {
this.rewindButton.gotoAndStop("rewindOver");
} else {
this.rewindButton.gotoAndStop("rewind");
}
var bo_playPause:Boolean = this.playPause.hitTest(_root._xmouse, _root._ymouse, true);
if (bo_playPause == true && this._currentframe == 1) {
this.playPause.gotoAndStop("playOver");
} else if (bo_playPause == true && this._currentframe == 20) {
this.playPause.gotoAndStop("pauseOver");
} else if (bo_playPause == false && this._currentframe == 1) {
this.playPause.gotoAndStop("play");
} else {
this.playPause.gotoAndStop("pause");
}
};
// Rewind
fadeBlock.rewindButton.onRollOver = function()
{
this.gotoAndStop("rewindOver");
}
fadeBlock.rewindButton.onRollOut = fadeBlock.rewindButton.onReleaseOutside = function()
{
this.gotoAndStop("rewind");
}
fadeBlock.rewindButton.onRelease = function()
{
ns.seek(0);
}
// Play - Pause
fadeBlock.playPause.onRollOver = function()
{
if(this._currentframe == 1)
{
this.gotoAndStop("playOver");
}
else
{
this.gotoAndStop("pauseOver");
}
}
fadeBlock.playPause.onRollOut = fadeBlock.playPause.onReleaseOutside = function()
{
if(this._currentframe == 10) this.gotoAndStop("play");
else this.gotoAndStop("pause");
}
fadeBlock.playPause.onRelease = function()
{
if(this._currentframe == 10)
{
this.gotoAndStop("pauseOver");
ns.pause();
}
else
{
this.gotoAndStop("playOver");
ns.pause();
}
} |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| alpha, fadein, fadeout, mehrere objekte, movieclips |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Maske aus mehreren Objekten | Master Wu | Flash MX | 8 | 12-08-2005 11:17 |
| hittest bei mehreren objekten | schmidi | Spielkonzepte und Spieleprogrammierung | 2 | 21-11-2004 14:20 |
| hittest mit mehreren objekten | destroy90210 | Flash MX | 1 | 12-03-2004 14:40 |
| mausverfolger mit mehreren objekten | bennybraun | ActionScript 1 | 2 | 13-05-2002 11:41 |
| Dragen von mehreren Objekten (nicht gleichzeitig) | MrM | ActionScript 1 | 2 | 07-03-2002 08:58 |