Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2009, 20:42   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Beiträge: 159
bildüberblendung bleibt sichtbar

ich habe ein script zum bildüberblenden.
funtioniert soweit auch super. wenn ich aber nen frame weiter springe, bleibt die animaion weiter bestehen.
wie kann ich sie unsichtbar machen bzw. löschen.
Code:
stop();
import mx.transitions.*;
import mx.transitions.easing.*;
Path = "test/";
Pictures = new Array()
Pictures[0] = "bild0.jpg";
Pictures[1] = "bild1.jpg";
Pictures[2] = "bild2.jpg";
Pictures[3] = "bild3.jpg";
for(p = 0; p < Pictures.length; p++){
   _root.createEmptyMovieClip("Pic" + p, 666 + p);
   _root["Pic" + p]._alpha = 0;
   _root["Pic" + p].loadMovie(Path + Pictures[p]);
}
Active = 0;
function switching(){
   Active ++;
   if(Active == Pictures.length){
      Active = 0;
   }
    ActivePic = _root["Pic" + Active]
   fadePic();
}
function fadePic(){
   FadeOut = new mx.transitions.Tween(OldPic, "_alpha", mx.transitions.easing.Regular.easeInOut , 100, 0, 4, true);
    FadeIn = new mx.transitions.Tween(ActivePic, "_alpha", mx.transitions.easing.Regular.easeInOut , 0, 100, 2, true);
   FadeIn.onMotionFinished  = function(){
      OldPic = ActivePic;
   }
}
switching();
setInterval(switching, 8000);
anbei die fla damit es vielleicht direkt klar wird was ich meine.
Angehängte Dateien
Dateityp: zip bildwechsel.zip (50,1 KB, 8x aufgerufen)
ole4 ist offline   Mit Zitat antworten
Alt 04-02-2009, 21:19   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

hi,
das geht so:
PHP-Code:
stop();
import mx.transitions.*;
import mx.transitions.easing.*;
Path "test/";
Pictures = new Array()
Pictures[0] = "bild0.jpg";
Pictures[1] = "bild1.jpg";
Pictures[2] = "bild2.jpg";
Pictures[3] = "bild3.jpg";
for(
0Pictures.lengthp++){
   
_root.createEmptyMovieClip("Pic" p666 p);
   
_root["Pic" p]._alpha 0;
   
_root["Pic" p].loadMovie(Path Pictures[p]);
}
Active 0;
function 
switching(){
    
trace("*");
   
Active ++;
   if(
Active == Pictures.length){
      
Active 0;
   }
    
ActivePic _root["Pic" Active]
   
fadePic();
}
function 
fadePic(){
   
FadeOut = new mx.transitions.Tween(OldPic"_alpha"mx.transitions.easing.Regular.easeInOut 10004true);
    
FadeIn = new mx.transitions.Tween(ActivePic"_alpha"mx.transitions.easing.Regular.easeInOut 01002true);
   
FadeIn.onMotionFinished  = function(){
      
OldPic ActivePic;
   }
}
switching();
var 
myInterval setInterval(switching2000); 
function 
removeAllPics(){
    
clearInterval(myInterval);
    for(
0Pictures.lengthp++){
        
_root["Pic" p].removeMovieClip()
    }

und natürlich mußte die neue function auch aufrufen:
PHP-Code:
btn.onRelease = function() {
    
_root.gotoAndStop(2);
    
removeAllPics();
}; 
viel spaß.
cheers, nik
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2009, 21:21   #3 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi nochmal,
ich hab dich mal hierher verschoben.
weil das bei dir mit actionscript2 so gar nix zu tun hat
cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2009, 22:03   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hatte irgentwie mal wieder bock so richtig schön actionscript2 timeline zu coden

anbei deine galerie in as2. einfach dein hauptscript mit diesem hier ersetzen

PHP-Code:
//-------------------------------------

stop();

//-------------------------------------

import mx.transitions.*;
import mx.transitions.easing.*;

//-------------------------------------

var filePath:String "test/";
var 
fileHolder:Array = new Array( "bild0.jpg""bild1.jpg""bild2.jpg""bild3.jpg" );
var 
arrayPos:Number = -1;
var 
intervalHolder:Number;
var 
intervalSpeed:Number 3000;
var 
galleryHolder:MovieClip this.createEmptyMovieClip"galleryHolder"this.getNextHighestDepth() );
var 
picturesClipsHolder:Array = new Array();
var 
pictureOld:MovieClip;
var 
pictureNew:MovieClip;
var 
tweenFadeOut:Tween;
var 
tweenFadeIn:Tween;
var 
tweenSpeed:Number 2;

//-------------------------------------

function init():Void {
    
    var 
pictureHolder:MovieClip;
    
    for ( var 
p:Number 0fileHolder.lengthp++ ) {
        
       
pictureHolder galleryHolder.createEmptyMovieClip"Pic" pgalleryHolder.getNextHighestDepth() );
       
pictureHolder._alpha 0;
       
pictureHolder.loadMoviefilePath fileHolder] );
       
       
picturesClipsHolder.pushpictureHolder );
       
    }
    
    
switching();

    
intervalHolder setIntervalswitchingintervalSpeed ); 
    
}

//-------------------------------------

function switching():Void {
    
    
tweenFadeOut.stop();
    
tweenFadeIn.stop();

    
arrayPos++;
    
    if ( 
arrayPos == fileHolder.length arrayPos 0;

    
pictureNew picturesClipsHolderarrayPos ];

    
fadePic();
    
}

//-------------------------------------

function fadePic():Void {
    
    
tweenFadeOut = new TweenpictureOld"_alpha"Regular.easeInOut 1000tweenSpeedtrue );
    
tweenFadeIn  = new TweenpictureNew"_alpha"Regular.easeInOut 0100tweenSpeedtrue );
    
tweenFadeIn.onMotionFinished  = function():Void {

        
pictureOld pictureNew;
        
    }
   
}

//-------------------------------------

function removeAllPics():Void {
    
    
clearIntervalintervalHolder );
    
    var 
tweenAllOut:Tween;
    
    
tweenAllOut = new TweengalleryHolder"_alpha"Regular.easeInOut galleryHolder._alpha0tweenSpeedtrue );
    
tweenAllOut.onMotionFinished  = function():Void {

        for ( var 
str:String in picturesClipsHolder picturesClipsHolderstr ].removeMovieClip();

        
galleryHolder.removeMovieClip();
        
    }

}

//-------------------------------------

init();

//------------------------------------- 
cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (04-03-2009 um 23:55 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 04-02-2009, 23:15   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Beiträge: 159
wow
super vielen dank für die schnelle hilfe und respekt fürs AS2 coden.
wobei ich das nicht ganz verstehe was im as2 jetzt steht...ich werde es mal studieren : )
danke
ole4 ist offline   Mit Zitat antworten
Alt 04-03-2009, 22:05   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 10
Hallo salzar,

ich habe dein Skript auch einmal ausprobiert und es ist wirklich klasse.
Kannst du mir zeigen, wie man in ein Zweites Array neben dem fileHolder mit den Bildnamen eines erzeugt, in dem für jedes Bild eine Anzeigedauer festgelegt wird?

Ich habe es noch nicht geschafft die intervalSpeed-Nummer für jedes Bild einzeln anzupassen.

Vielen Dank
tommui ist offline   Mit Zitat antworten
Alt 05-03-2009, 00:36   #7 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

ja hi,
salzar kenn ich nicht...
aber hier die antwort auf deine frage:
(thread original files mit neuem AS anbei)
PHP-Code:
//-------------------------------------

stop();

//-------------------------------------

import mx.transitions.*;
import mx.transitions.easing.*;

//-------------------------------------

var filePath:String "test/";
var 
fileHolder:Array = new Array( { img:"bild0.jpg"time:18000 }, { img:"bild1.jpg"time:6000 }, { img:"bild2.jpg"time:3000 }, { img:"bild3.jpg"time:4000 } );
var 
arrayPos:Number = -1;
var 
intervalHolder:Number;
var 
intervalSpeed:Number;
var 
galleryHolder:MovieClip this.createEmptyMovieClip"galleryHolder"this.getNextHighestDepth() );
var 
picturesClipsHolder:Array = new Array();
var 
pictureOld:MovieClip;
var 
pictureNew:MovieClip;
var 
tweenFadeOut:Tween;
var 
tweenFadeIn:Tween;
var 
tweenSpeed:Number 2;

//-------------------------------------

function init():Void {
    
    
clearIntervalintervalHolder );
    
    var 
pictureHolder:MovieClip;
    
    for ( var 
p:Number 0fileHolder.lengthp++ ) {
        
       
pictureHolder galleryHolder.createEmptyMovieClip"Pic" pgalleryHolder.getNextHighestDepth() );
       
pictureHolder._alpha 0;
       
pictureHolder.loadMoviefilePath fileHolder].img );
       
       
picturesClipsHolder.pushpictureHolder );
       
    }
    
    
arrayPos++;

    
pictureNew picturesClipsHolderarrayPos ];
    
    
fadePic();

    
intervalSpeed NumberfileHolder].time );
    
intervalHolder setIntervalswitchingintervalSpeed ); 
    
}

//-------------------------------------

function switching():Void {
    
    
tweenFadeOut.stop();
    
tweenFadeIn.stop();

    
arrayPos++;
    
    if ( 
arrayPos == fileHolder.length arrayPos 0;

    
pictureNew picturesClipsHolderarrayPos ];

    
fadePic();
    
    
clearIntervalintervalHolder );
    
    
intervalSpeed NumberfileHolderarrayPos ].time );
    
intervalHolder setIntervalswitchingintervalSpeed ); 

}

//-------------------------------------

function fadePic():Void {
    
    
tweenFadeOut = new TweenpictureOld"_alpha"Regular.easeInOut 1000tweenSpeedtrue );
    
tweenFadeIn  = new TweenpictureNew"_alpha"Regular.easeInOut 0100tweenSpeedtrue );
    
tweenFadeIn.onMotionFinished  = function():Void {

        
pictureOld pictureNew;
        
    }
   
}

//-------------------------------------

function removeAllPics():Void {
    
    
clearIntervalintervalHolder );
    
    var 
tweenAllOut:Tween;
    
    
tweenAllOut = new TweengalleryHolder"_alpha"Regular.easeInOut galleryHolder._alpha0tweenSpeedtrue );
    
tweenAllOut.onMotionFinished  = function():Void {

        for ( var 
str:String in picturesClipsHolder picturesClipsHolderstr ].removeMovieClip();

        
galleryHolder.removeMovieClip();

    }

}

//-------------------------------------

init();

//------------------------------------- 
mußte ein bissal was für umschreiben. ich hab allerdings kein zweites array hinzugefügt, sondern einfach objects ins array gepackt mit den entsprechenden infos für file und time.

time:18000 = 18 sekunden
time:6000= 6 sekunden
time:3000= 3 sekunden
time:4000= 4 sekunden


cheers, sal

edit: das ganze ist übrigens actionscript 2 und nicht 1
Angehängte Dateien
Dateityp: zip imageFadeAS2.zip (53,4 KB, 5x aufgerufen)
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (05-03-2009 um 00:58 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 05-03-2009, 10:07   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 10
Hallo Danke für deine Antwort. Leider kann ich deine zip-Datei nicht öffnen.
Da ich hier nicht in einen fremden POst reinschreiben wollte, habe ich ein neues Thema aufgemacht. Beim gesperrten Post geht es um einen völlig anderen Lösungsansatz, dort sind Beschreibung und Zeit in einer Datei.
Ich würde mich freuen, wenn du ihn wieder aufmachst
tommui ist offline   Mit Zitat antworten
Alt 05-03-2009, 10:16   #9 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi,
wieso kannste die zip nicht öffnen?
und selbst wenn du die nicht öffnen kannst.... den code hat ich ja mit dazu gepostet. dann mußte halt die original zip von ganz oben neben und den dort enthaltenen code mit dem aus diesem thread hier ersetzen. mehr hatte ich auch nicht getan...
probier es also einfach mal aus!
naja... mit dem völlig anderen lösungsansatz ist aber nicht unbedingt ersichtlich.
cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 05-03-2009, 12:26   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 10
Ja, von der Fragestellung her hast du recht, aber das Skript bzw der Aufbau ist anders.
Ich versuche gerade deinen Code zu verstehen und es an das Skript, im gesperrten Thread, anzupassen. Nur mir gelingt es nicht
Wie man da eine Verzögerung einbaut, habe ich noch nicht verstanden. Ganz schön kompliziert

Geändert von tommui (05-03-2009 um 12:27 Uhr)
tommui ist offline   Mit Zitat antworten
Alt 05-03-2009, 12:32   #11 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Zitat:
Zitat von tommui Beitrag anzeigen
Ich versuche gerade deinen Code zu verstehen und es an das Skript, im gesperrten Thread, anzupassen.
hi,
erstens ist der thread nicht mehr gesperrt und zweitens brauchste nix anzupassen. jedenfalls nicht wenn es um deine frage
Zitat:
Zitat von tommui Beitrag anzeigen
Ich habe es noch nicht geschafft die intervalSpeed-Nummer für jedes Bild einzeln anzupassen.
geht. dann kannste nämlich ganz einfach das script nehmen und alles läuft so wie gewünscht

cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 05-03-2009, 12:35   #12 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 10
Nochmals Vielen Dank für deine ganzen Antworten (:
Ich werde jetzt erstmal eine Pause machen, vielleicht klappt's dann einfacher
tommui ist offline   Mit Zitat antworten
Alt 29-08-2009, 10:40   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 5
png Rahmen

Besten Dank für das tolle Script!!!

Ich würde jetzt gerne einen Rahmen (png) über das ganze legen...
Hab schon alles ausprobiert (wie z.B. das .png in einen mc konvertiert und per "swapDepths(this.getNextHighestDepth() );" auf eine höhere Tiefe zu legen).
Funktioniert aber alles nicht.

Komme nicht mehr weiter.. seit gestern mittag.

Kann mir jemand helfen ?
Bibbell ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele