Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-03-2006, 08:59   #1 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Fadeeffekt bei 3 Bildern mit AS

Hallo zusammen, ich möchte gerne drei Bilder geschickt mit einem Fade-Effekt versehen, welcher meine Bilder mit alpha-werten ineinander übergehen(faden) lässt. Mit AS hätte ich den Vorteil, dass ich später bei z.B. 4 Bildern nicht alles auf die Bühne setzen muss und dann diese mit alpha-werten von Hand versehen muss. Kennt jemand eine geschicke Funktion, die genau das macht. Am besten mit einem Bild-Array?!

0711concept
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 08-03-2006, 09:09   #2 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
moin

Moin,

Zufälle gibt's - schau mal in meinen Thread von gerade.

Ich mach genau das gleiche, bin auch soweit, daß sie faden, hat aber noch nen kleinen Bug.

vielleicht willst du dich an der fehlersuche besteiligen?

Guckst du hierBilder faden per AS - komische "Fehlfunktion"

Greetz,

das Tom
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 08-03-2006, 09:10   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hast du schon mal die Suchfunktion bemüht? Ich hab hier schon sehr nette Fader-Scripte gesehen...
  Mit Zitat antworten
Alt 08-03-2006, 09:24   #4 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Hier ein guter Fader...

Bilder ein- und ausblenden

Danke für die schnellen Antworten.
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 09-03-2006, 10:26   #5 (permalink)
bas
.:the party must go on:.
 
Registriert seit: Sep 2001
Ort: muc
Beiträge: 105
Fade funkt. nur mit sehr kleinen Bildern

Hi, nach 5 Jahren mal wieder im Forum
Ich habe ein kleines Problem:
Diese Fade funktion geht nur mit sehr kleinen Bildern (<4 kB) sobald ich minimal größere Bilder laden möchte, werde diese nicht geladen.
Gerne würde ich hier Bilder mit 30KB und größer Faden lassen.

Das konkrtet Problem: das 2. Bild wird nicht geladen, weil zu groß:<a href="http://www.caroladietrich.com/fade.zip"> hier als zip</a>

Der Code:
//um pfadprobleme innerhalb verschachtelter hereingeladener filme zu vermeiden,
// schreibt nimmt man eine variable für das "_root", anstelle von "_root" schreibt man dann immer "tl"
var tl = this;
//tempo für das faden
var fadespeed = 2;
//wieviel bilder snd's denn?
var bildanzahl = 6;
//definieren des "vorgängerladebildes"(für das entladen wichtig)
_global.old_conti;
//bei welcher zahl fangen wir an?- "ct" ist unser zählvarible
_global.ct = 1;
//hauptfunktion:
function reload_x() {
//das intervall "SID" bei jedem aufruf der function reload_x löschen(siehe unten)
clearInterval(SID);
//leeren movieclip erstellen zum hereinladen des bildes(immer mit der
//variable "ct", um das nächst bild zu laden(ganz unten wird "ct" immer +1 erhöht
tl.createEmptyMovieClip("container"+ct, ct+10);
//der leere mc soll das bild(hinweis wieder auf "ct") laden
tl["container"+ct].loadMovie("flash/bild"+ct+".jpg");//der pfad zu den bildern
//alphawert = 0
tl["container"+ct]._alpha = 0;
//um geladene bilder bearbeiten zu können, muss man sie vorladen
//hier mit der function "loader_funk"
this.loader_funk = function() {
//wenn der leere mc über 4 Bytes groß ist....
if (tl["container"+ct].getBytesLoaded()>=4) {
//typische preloadergeschichte
gesamt = tl["container"+ct].getBytesTotal();
bereits = tl["container"+ct].getBytesLoaded();
prozent = Math.ceil((bereits/gesamt)*100);
if (prozent>=100) {
//wenn prozet 100 sind, dann soll der oben erstellte,beladene mc einfaden
//und der alte("old_conti) ausfaden
tl["container"+ct]._alpha += fadespeed;
old_conti._alpha -= fadespeed;
//wenn neu 100 alpha und alt 0 alpha, dann den alten mc entladen
if (tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
old_conti.unloadMovie();
//den neuen mc zu "alten machen:
_global.old_conti = tl["container"+ct];
//das interval loadID(siehe unten) löschen
clearInterval(loadID);
//"ct" um ein erhöhen
_global.ct++;
//die hauptfunction reload_x wieder starten
SID = setInterval(reload_x, 2000);
}
//wenn maximale bildanzahl erreicht wurde, wieder bei 1 anfangen
if (ct == (bildanzahl+1)) {
_global.ct = 1;
}
}
}
};
//preloader-intervall starten
loadID = setInterval(loader_funk, 40);
}
//function-aufruf
reload_x();


Danke für eine schnelle Hilfe!

bas
Angehängte Dateien
Dateityp: rar picFader.rar (22,1 KB, 7x aufgerufen)
bas ist offline   Mit Zitat antworten
Alt 09-03-2006, 10:39   #6 (permalink)
bas
.:the party must go on:.
 
Registriert seit: Sep 2001
Ort: muc
Beiträge: 105
Fade mit größeren Bildern nicht möglich

Hi, nach 5 Jahren mal wieder im Forum
Ich habe ein kleines Problem:
Diese Fade funktion geht nur mit sehr kleinen Bildern (<4 kB) sobald ich minimal größere Bilder laden möchte, werde diese nicht geladen.
Gerne würde ich hier Bilder mit 30KB und größer Faden lassen.

der Code:
PHP-Code:
//um pfadprobleme innerhalb verschachtelter hereingeladener filme zu vermeiden, 
// schreibt nimmt man eine variable für das "_root", anstelle von "_root" schreibt man dann immer "tl" 
var tl this
//tempo für das faden 
var fadespeed 2
//wieviel bilder snd's denn? 
var bildanzahl 6
//definieren des "vorgängerladebildes"(für das entladen wichtig) 
_global.old_conti
//bei welcher zahl fangen wir an?- "ct" ist unser zählvarible 
_global.ct 1
//hauptfunktion: 
function reload_x() { 
//das intervall "SID" bei jedem aufruf der function reload_x löschen(siehe unten) 
    
clearInterval(SID); 
//leeren movieclip erstellen zum hereinladen des bildes(immer mit der 
//variable "ct", um das nächst bild zu laden(ganz unten wird "ct" immer +1 erhöht 
    
tl.createEmptyMovieClip("container"+ctct+10); 
//der leere mc soll das bild(hinweis wieder auf "ct") laden 
    
tl["container"+ct].loadMovie("flash/bild"+ct+".jpg");//der pfad zu den bildern 
//alphawert = 0 
    
tl["container"+ct]._alpha 0
//um geladene bilder bearbeiten zu können, muss man sie vorladen 
//hier mit der function "loader_funk" 
    
this.loader_funk = function() { 
//wenn der leere mc über 4 Bytes groß ist.... 
        
if (tl["container"+ct].getBytesLoaded()>=4) { 
//typische preloadergeschichte 
            
gesamt tl["container"+ct].getBytesTotal(); 
            
bereits tl["container"+ct].getBytesLoaded(); 
            
prozent Math.ceil((bereits/gesamt)*100); 
            if (
prozent>=100) { 
//wenn prozet 100 sind, dann soll der oben erstellte,beladene mc einfaden 
//und der alte("old_conti) ausfaden 
                
tl["container"+ct]._alpha += fadespeed
                
old_conti._alpha -= fadespeed
//wenn neu 100 alpha und alt 0 alpha, dann den alten mc entladen 
                
if (tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) { 
                    
old_conti.unloadMovie(); 
//den neuen mc zu "alten machen: 
                    
_global.old_conti tl["container"+ct]; 
//das interval loadID(siehe unten) löschen 
                    
clearInterval(loadID); 
//"ct" um ein erhöhen 
                    
_global.ct++; 
//die hauptfunction reload_x wieder starten 
                    
SID setInterval(reload_x2000); 
                } 
//wenn maximale bildanzahl erreicht wurde, wieder bei 1 anfangen 
                
if (ct == (bildanzahl+1)) { 
                    
_global.ct 1
                } 
            } 
        } 
    }; 
//preloader-intervall starten 
    
loadID setInterval(loader_funk40); 

//function-aufruf 
reload_x(); 
Danke für eine schnelle Hilfe!
Angehängte Dateien
Dateityp: rar picFader.rar (22,1 KB, 10x aufgerufen)
bas ist offline   Mit Zitat antworten
Alt 09-03-2006, 10:45   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

1. keine Doppelposts: Fadeeffekt bei 3 Bildern mit AS

2. geht's doch auch mit größeren Bildern?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-03-2006, 10:49   #8 (permalink)
bas
.:the party must go on:.
 
Registriert seit: Sep 2001
Ort: muc
Beiträge: 105
sorry, war keine böse Absicht mit dem Doppelposting!

das Problem ist, es geht eben nicht mit größeren Bildern... siehe Beispiel zip.

Danke!
bas ist offline   Mit Zitat antworten
Alt 09-03-2006, 10:57   #9 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hola,
habe beide posts mal zusammengeführt

cya, 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 09-03-2006, 10:59   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Wieso sollte das nicht gehen? Geht 1a...

Kannst du auch sehen, wenn du z.B. mal die lade-Zeile ersetzt:
PHP-Code:
tl["container"+ct].loadMovie("http://www.job.ru/public/"+ct+".jpg"); 
Mit den Fotos habe ich nix am Hut, aber die sind so schön durchnummeriert
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-03-2006, 11:06   #11 (permalink)
bas
.:the party must go on:.
 
Registriert seit: Sep 2001
Ort: muc
Beiträge: 105
Hi, die Bilder sind ja der Wahnsinn!
und komischerweise geht es in der Tat!!!

Vielen Dank!

So stell ich die Bilder einfach auch ins Netz und hoffe, dass es funzt.

Gruß aus Muc

bas
bas ist offline   Mit Zitat antworten
Alt 09-03-2006, 11:08   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ja, super Fotos...

Falls deine Bilder gar nicht geladen werden, guck mal, ob die vielleicht progressiv (also in mehreren Durchgängen) gespeichert sind.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-03-2006, 15:33   #13 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
btw

sagt mal: Ich benutze auch dieses Script, nur wenn ich das für mehrere bilder gleichzeitig aufrufen will, kommen sich anscheinend die Intervalle in die Quere. Hattet ihr das Problem auch?

Greetz,

das Tom
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 09-03-2006, 16:58   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!

Das müsste man dann noch umschreiben. Momentan kann die "loader_funk" nur einen MC auf seinen Ladestatus prüfen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 10-03-2006, 09:10   #15 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Moin

Moin

Ich hab mir jetzt so geholfen:

PHP-Code:
this.attachMovie("rahmen_mc""rahmen_b_mc""1001");
this.rahmen_b_mc._x 318;
this.rahmen_b_mc._y 0;

this.attachMovie("rahmen_mc""rahmen_c_mc""1002");
this.rahmen_c_mc._x 636;
this.rahmen_c_mc._y 0;

var 
tl this;
var 
fadespeed 5;
var 
bildanzahl 6;
var 
zufallszahl random(bildanzahl);
_global.old_conti;
_global.ct zufallszahl;
function 
reload_x(xwertxscaysca) {
    
clearInterval(SID);
    
tl.createEmptyMovieClip("container"+ctct+10);
    
tl["container"+ct].loadMovie("http://localhost:8888/www.boats-house-club.de/links/flash/fla/test_random/pixflashran/bild"+ct+".jpg");
    
tl["container"+ct]._alpha 0;
    
this.loader_funk = function() {
        if (
tl["container"+ct].getBytesLoaded()>=4) {
            
gesamt tl["container"+ct].getBytesTotal();
            
bereits tl["container"+ct].getBytesLoaded();
            
prozent Math.ceil((bereits/gesamt)*100);
            if (
prozent>=100) {
                
//zusatz Tom - Größe und Position
                
tl["container"+ct]._x xwert;
                
tl["container"+ct]._xscale xsca;
                
tl["container"+ct]._yscale ysca;
                
tl["container"+ct]._alpha += fadespeed;
                
old_conti._alpha -= fadespeed;
                if (
tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
                    
old_conti.unloadMovie();
                    
_global.old_conti tl["container"+ct];
                    
clearInterval(loadID);
                    
_global.ct++;
                    
SID setInterval(reload_x2000);
                }
                if (
ct == (bildanzahl+1)) {
                    
_global.ct zufallszahl;
                }
            }
        }
    };
    
loadID setInterval(loader_funk40);
}
reload_x("0""20""20");


//var fadespeed_q = 5;
var bildanzahl_q 6;
var 
zufallszahl_q random(bildanzahl_q);
_global.old_conti_q;
_global.ct_q zufallszahl_q;
function 
reload_x_q(xwertxscaysca) {
    
clearInterval(SID_q);
    
tl.createEmptyMovieClip("container_q"+ct_qct_q+20);
    
tl["container_q"+ct_q].loadMovie("http://localhost:8888/www.boats-house-club.de/links/flash/fla/test_random/pixflashran_q/bildq"+ct_q+".jpg");
    
tl["container_q"+ct_q]._alpha 0;
    
this.loader_funk_q = function() {
        if (
tl["container_q"+ct_q].getBytesLoaded()>=4) {
            
gesamt_q tl["container_q"+ct_q].getBytesTotal();
            
bereits_q tl["container_q"+ct_q].getBytesLoaded();
            
prozent_q Math.ceil((bereits_q/gesamt_q)*100);
            if (
prozent_q>=100) {
                
//zusatz Tom - Größe und Position
                
tl["container_q"+ct_q]._x xwert;
                
tl["container_q"+ct_q]._xscale xsca;
                
tl["container_q"+ct_q]._yscale ysca;
                
tl["container_q"+ct_q]._alpha += fadespeed;
                
old_conti_q._alpha -= fadespeed;
                if (
tl["container_q"+ct_q]._alpha>=100 && old_conti_q._alpha<=0) {
                    
old_conti_q.unloadMovie();
                    
_global.old_conti_q tl["container_q"+ct_q];
                    
clearInterval(loadID_q);
                    
_global.ct_q++;
                    
SID_q setInterval(reload_x_q3000);
                }
                if (
ct_q == (bildanzahl_q+1)) {
                    
_global.ct_q zufallszahl_q;
                }
            }
        }
    };
    
loadID_q setInterval(loader_funk_q40);
}
reload_x_q("120""20""20");

this.attachMovie("logobhc_mc""logo_mc""9999");
this.logo_mc._xscale 60;
this.logo_mc._yscale 60;

var 
breite this.logo_mc._width;
var 
breiteB Stage.width;
var 
posMC = (breiteB-breite)/2;
var 
hoehe this.logo_mc._height;
var 
hoeheB Stage.height;
var 
posMCy = (hoeheB-hoehe)/2;

this.logo_mc._x posMC;
this.logo_mc._y posMCy;
trace(breite);
trace(breiteB);
trace(posMC); 
Ich habe es noch so "erweitert", daß die Bilder zufällig aus einem Ordner geladen werden. Da ich insgesamt ja 3 bilder nebeneinander faden möchte, kopiere ich die func und benenne alle vars um - nicht sehr schön.

Aber könnte man das nicht so lösen, daß man eine Func nutz, die direkt die 3 Container MC's erstellt?

Sonnige Grüße,

das Tom *der Frühling kommt*
__________________
__________________________________________
"… blubb!"
tomtom69 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 09:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele