Flashhilfe.de - Flash Community

geladenes movie (swf film) langsam ein oder ausblenden... [Flash 8]

 


AntwortenRegistrieren Seite1  

Rennier#1
Benutzerbild von Rennier
Beiträge: 5
Wohnort: Berlin
Registriert: May 2015

28.09.2020, 23:09

Hallo,
ich sitze mal wieder nach längerer Zeit an einer Videosteuerung die verschiedene Loop-Videos als swf per Knopfdruck abspielt, was auch soweit gut läuft.
Nur möchte ich nicht das diese videos auf einen Schlag da sind sondern langsam eingeblendet werden.
Ich habe es schon versucht mit der funktion des alpha-wertes.
Auch mit einer "brems" routine als zählpause stoppt das video nur und ist dann einfach ohne den gewünschten blendeffekt weg. Ist die routine immernoch zu schnell oder ist das alles Murks was ich da so ausgetüftelt habe ?
Es gibt bestimmt einen besseren Weg einen gelandenen Film sauber ein- bzw aus zu blenden (hier meine Idee die nicht klappt):

function blende77(){
   time = 3000;
   ablend = 100;
while(ablend != 1){
   while (time !=1){      
      time=time - 1}
      time=3000;
_root,_level7._alpha=ablend;
ablend = ablend - 1;
}
Ich glaube nicht an die kollektive Weisheit individueller Unwissenheit.

Thomas Carlyle
Indy_Crossover#2
Benutzerbild von Indy_Crossover
Beiträge: 50
Wohnort: Emmendingen
Registriert: Oct 2018

29.09.2020, 08:19

Abgesehen davon, dass ich vorwiegend AcionScript 3 nutze (du hast vermutlich gerade AS2) kann ich bei deinem Programm zwei wesentliche Fehler entdecken:

1. Alles, was in einer Programmschleife ist, wird praktisch momentan im selben Augenblick ausgeführt. Mach das lieber mit Hilfe der Timer-Funktion, also:

var ablend:int=100;
var myTimer:Timer = new Timer(20,100);
Timer.addEventListener(TimerEvent.TIMER,MakeDarker);

function MakeDarker(event TimerEvent):void {
  ablend=ablend-1;
  alpha=0.01*ablend;
}

2. Den zweiten Fehler habe ich gleich mit korrigiert: alpha muss Werte zwischen 0 und 1 annehmen, also z.B. 0.5 für halbe Transparenz.

So, wie das Programm oben steht, wird das Programm im Ganzen ausgeblendet, weil es alpha auch als globale Variable gibt. Um nur den Film auszublenden, gehört vor alpha die entsprechende Bezeichnung der Filmdarstellung, also etwas wie filmbild.alpha=0.01*ablend.
Rennier#3
Benutzerbild von Rennier
Beiträge: 5
Wohnort: Berlin
Registriert: May 2015

Themenautor/in

29.09.2020, 13:15

Besten Dank für die Infos,
ich habe versucht deinen Vorschlag umzusetzten, leider scheint es mit AS2 nicht so zu funktionieren, die Fehlermeldung sagt mir da leider nicht viel:

    interface 'int' could not be loaded.
     var ablend:int=100;

    interface 'Timer' could not be loaded.
     var myTimer:Timer = new Timer(20,100);

    **Error** Scene=Scene 1, layer=but, frame=1:Line 49: ')' or ',' expected
     function MakeDarker(event TimerEvent):void {

    **Error** Scene=Scene 1, layer=but, frame=1:Line 52: Unexpected '}' encountered
     }

Weiterhin sind wohl alpha werte bei AS2 noch anders als bei AS3 da es laut Lehrbuch keine kommawerte gibt. Hier geht es von 0=unsichtbar bis 100=sichtbar...
Als einzelne Anwendung funktioniert der Befehl gut: " _root, _level5._alpha=50; " nur im Verbund mit Schleifen klappt das nicht...
Ich würde zwar gerne auf AS3 umsteigen aber das würde beteuten das ich viel neu lesen und lernen müsste und den ganzen Code anpassen, das kosten Zeit...
so hoffe ich es noch mit AS2 hinzubekommen.
Ich glaube nicht an die kollektive Weisheit individueller Unwissenheit.

Thomas Carlyle
Indy_Crossover#4
Benutzerbild von Indy_Crossover
Beiträge: 50
Wohnort: Emmendingen
Registriert: Oct 2018

29.09.2020, 16:13

Hallo Rennier,

ich habe eine Ausblenddemo in AS2 umgeschrieben.
Versuch mal folgendes:

var ablend:Number=100;

var intv:Number=setInterval(MakeDarker,20);

function MakeDarker() {
  ablend--;
  _alpha=ablend;
  if (ablend<=0) clearInterval(intv); // um die Schleife zu stoppen
}
Geändert von Indy_Crossover am 29.09.20 um 16:14 Uhr
Rennier#5
Benutzerbild von Rennier
Beiträge: 5
Wohnort: Berlin
Registriert: May 2015

Themenautor/in

11.10.2020, 19:33

Erstmal Besten Dank das sieht sehr gut aus und blendet sauber aus !
Leider die Hauptebene mit allen Button, nur verstehe ich noch nicht wie ich es den Code auf die eingeladenen Movie Ebenen anweden kann bzw. umschreiben kann.
Ich lade SWF Filme auf Ebene 5 und Ebene 7 und möchte jede Ebene zielgerichtet ausblenden.
Ich glaube nicht an die kollektive Weisheit individueller Unwissenheit.

Thomas Carlyle
Indy_Crossover#6
Benutzerbild von Indy_Crossover
Beiträge: 50
Wohnort: Emmendingen
Registriert: Oct 2018

11.10.2020, 21:32

Hallo Rennier,

es freut mich, dass es soweit klappt. Jetzt brauchst du nur noch das richtige _alpha einzusetzen.
Von deinem ursprünglichen Programm ausgehend würde ide Zeile z.B.
_root._level7._alpha=ablend; lauten.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de