Flashhilfe.de - Flash Community

Alpha- und Bewegungstween miteinander kombinieren [Flash MX 2004]

 


AntwortenRegistrieren Seite1  

schocki76#1
Benutzerbild von schocki76
Beiträge: 1
Registriert: Sep 2011

27.09.2011, 09:49

Ich möchte ein Foto aus- und das nächste einblenden lassen, dabei sollen sich beide Fotos bewegen. Das ganze in einer Animationsschleife. Ein Beispiel, wie es am Ende in etwa aussehen soll/kann seht Ihr hier: http://www.hogeveluwe.nl
Ich vermute, dass das nur mit AS machbar ist, habe auch schon einiges probiert, nur die Kombi beider Tweens kriege ich nicht gebacken.
Hat irgendjemand eine Lösung für mich? Ich bevorzuge simple Scripts bzw. Erläuterungen dazu, damit ich das AS nachvollziehen und verstehen kann. MERCI beaucoup im Voraus!
pixelQueen
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

27.09.2011, 11:52

Servus und Willkommen.
Wenn schon, eine Lösung mit ActionScript, dann ist wohl nur der Einsatz, einer Tween-klasse (zb. "caurina") sinnvoll.
Denke nicht, das das nur mit ActionScript möglich ist, aber zeig doch mal, was Du schon probiert hast.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
bilblo#3
Benutzerbild von bilblo
Beiträge: 28
Registriert: Sep 2011

04.10.2011, 04:38

gerade fertig geworden ^^

also füge den AS3 code im ersten Frame ein und erstelle einen Ordner mit dem namen "bilder" innerhalb des Ordners indem sich diese swf datei befinden wird. Im Ordner bilder kannst du nun alle deine gewünschten Bilder einfügen und sie wie folgt unbennen 1.png , 2.png etc.. oder 1.jpg , 2.jpg etc.. Wichtig dabei ist alle sollen vom gleichen typ sein. Du kannst den typ , das verzeichnis und die anzahl der bilder ändern unter EINSTELLUNGEN im folgenden CODE:



ActionScript:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import flash.display.MovieClip;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Loader;
import flash.text.engine.ContentElement;



// EINSTELLUNGEN
var anzahl:Number=3;
var bildverzeichnis:String="bilder/";
var bildtyp:String=".png";

 
//das bild mit dem er starten soll
var nextImage:Number=1;
stage.align='TL';
stage.scaleMode="noScale";
   

function ladebild(filename:String){
       var lo:Loader=new Loader();
        
        lo.load(new URLRequest(filename));
       lo.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
       }
      
//sobald es geladen ist soll diese funktion ausführen
function completeHandler(e:Event):void {
            e.target.removeEventListener(Event.COMPLETE, completeHandler);
            
        
          //xy position des geladenen Bildes
        e.target.content.x=0;
          e.target.content.y=0;
 
  // die Bildhoehe soll angepasst werden an die Hoehe vom stage +100 weil 100 ich für die ytween //animation benötige
     e.target.content.height=stage.stageHeight+100;
            e.target.content.scaleX= e.target.content.scaleY;
         
            addChild(e.target.content);
            animiere(e.target.content);
         
 
        }
      


// der timer wird auf 8 sekunden gesetzt bis das nächste bild eingeblendet wird während das letzte zum ausblenden 10 sekunden braucht das heisst für 2 sekunden werden sie sich überlagern

var timer:Timer = new Timer(8000, 1);
function animiere(fo:Bitmap){
     
     //alpha animation
   var myTween1:Tween = new Tween(fo, "alpha", Regular.easeIn, 0, 1, 2, true);
     myTween1.addEventListener(TweenEvent.MOTION_FINISH, Tween2_func);
 
     //y animation
   function Tween2_func(e:TweenEvent):void{
     myTween1.removeEventListener(TweenEvent.MOTION_FINISH, Tween2_func);
     
     var myTween2:Tween = new Tween(fo, "y", Regular.easeIn, 0,fo.y-100, 10, true);
     timer.addEventListener(TimerEvent.TIMER, Tween3_func);
     timer.start();
     }
 
     //alpha animation
   function Tween3_func(e:TimerEvent):void{   
     timer.removeEventListener(TimerEvent.TIMER, Tween3_func);   
       var myTween3:Tween = new Tween(fo, "alpha", Regular.easeIn, 1,0, 2, true);
       nextImage_func(); 
      }
 
     function nextImage_func(){      
      if(nextImage<anzahl){   nextImage++;}     else  {nextImage=1; }   
       ladebild(bildverzeichnis+nextImage+bildtyp);   
     }
 
 
}




ladebild(bildverzeichnis+nextImage+bildtyp);   




Übrigens das ganze ist natürlich auch ohne Tween möglich z.b mit ENTER_FRAME listener
Geändert von bilblo am 04.10.11 um 05:03 Uhr
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

04.10.2011, 08:18

@ bilblo
Super Geschichte, aber nicht in Version 7 (Flash 2004 MX) ;-)
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Werbung
Beiträge: 0
Registriert: Feb 2016


bilblo#5
Benutzerbild von bilblo
Beiträge: 28
Registriert: Sep 2011

04.10.2011, 18:08

hier die as2 Version ^^


ActionScript:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import mx.transitions.easing.*;
import mx.transitions.Tween;
import fl.transitions.TweenEvent;

// EINSTELLUNGEN
var anzahl:Number=3;
var bildverzeichnis:String="bilder/";
var bildtyp:String=".jpg";



//das bild mit dem er starten soll
var nextImage:Number=1;
Stage.align='TL';
Stage.scaleMode="noScale";

_level0.createEmptyMovieClip("mainMC", 2);


function ladebild() {
     
     _root.mainMC.duplicateMovieClip("newMC"+nextImage, this.getNextHighestDepth(),{_y:0});
     _root.myMC=_root["newMC"+ nextImage];
     
      _root.myMC._alpha=0;   
     
     
     loadMovie(bildverzeichnis+nextImage+bildtyp,_root.myMC);
     
     this.onEnterFrame = function() {      
           if (_root.myMC.getBytesTotal<=_root.myMC.getBytesLoaded) {   
           //trace("daten wurden geladen");
         delete this.onEnterFrame;   
           
           // _root.myMC.mainMC._height=100;
         animiere();         
           } else {
           var prozent = int(_root.myMC.getBytesLoaded*100/_root.myMC.getBytesTotal);
           trace(prozent +"%");          
           }
     }
}





function animiere() {
     myTimer = setInterval(this, "tween_3func", 10000);
     
     
     
     tween0_y = new Tween(myMC, "_y", mx.transitions.Regular.easing.None, myMC._y, myMC._y-20, 2, true);
     tween0_y.onMotionFinished = function() { }
     
     
     tween1_alpha = new Tween(myMC, "_alpha", Regular.easeInOut, 0, 100, 2, true);
     tween1_alpha.onMotionFinished = function() { 
 
     tween2_y = new Tween(myMC, "_y", mx.transitions.Regular.easing.None, myMC._y, myMC._y-100, 10, true);
     tween2_y.onMotionFinished = function() {}      
     }
                 
                 
        
}

function tween_3func(){
     
     
     clearInterval(myTimer);
     
        
        
     tween3_alpha = new Tween( myMC, "_alpha", Regular.easeInOut, 100, 0, 2, true);
     tween3_alpha.onMotionFinished = function() {
        
        if(nextImage==1) {
           //_root["newMC"+ anzahl].unloadMovie();
      _root["newMC"+ anzahl].removeMovieClip();}
        
        if(nextImage>1){
           //_root["newMC"+ nextImage-1].unloadMovie();
      _root["newMC"+ nextImage-1].removeMovieClip();}
        
        }   
        
     if(nextImage<anzahl){   nextImage++; ladebild(); }     else  {nextImage=1; ladebild();}
        
        
}



ladebild();



Framerate auf mindestens 24 einstellen für die flüssige animation
Ordner "bilder" und darin bilder unbennen in 1.jpg, 2.jpg etc... und dann die anzahl anpassen
Gruss
Geändert von bilblo am 04.10.11 um 18:15 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

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

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de