Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-02-2009, 15:32   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
Question Scharfe Übergänge in Bildergalerie mit Script lösen

Hallo,

habe mal versucht eine kleine bildergalerie zu basteln...
habe mehrere buttons untereinander und rechts wird in ein platzhalter moviclip ein bild beim moseover geladen...

mein problem: die übergänge sind sehr hart ... kann man das irgendwie mit dem script regeln?

hab mal hier was zusammengestümpert ... aber irgendwie wird das nichts...

btn_1.onRollOver = function(){
platzhalter_mc.loadMovie("bild1.jpg");
if (getProperty(platzhalter_mc, _alpha)>0) {
setProperty ("platzhalter_mc", _alpha, getProperty(platzhalter_mc, _alpha)+50);
}
}
btn_1.onRollOut = function(){
if (getProperty(platzhalter_mc, _alpha)>0) {
setProperty ("platzhalter_mc", _alpha, getProperty(platzhalter_mc, _alpha)-50);
}
}


btn_2.onRollOver = function(){
platzhalter_mc.loadMovie("bild2.jpg");
if (getProperty(platzhalter_mc, _alpha)>0) {
setProperty ("platzhalter_mc", _alpha, getProperty(platzhalter_mc, _alpha)+50);
}
}
btn_2.onRollOut = function(){
if (getProperty(platzhalter_mc, _alpha)>0) {
setProperty ("platzhalter_mc", _alpha, getProperty(platzhalter_mc, _alpha)-50);
}
}


.
.
.


Vilen dank, bin in Flash noch recht am Anfang
ostseepixel ist offline   Mit Zitat antworten
Alt 03-02-2009, 15:54   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ja da brauchts aber ein bisschen AS, zum aus/einfaden!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-02-2009, 15:58   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
Wie macht man das? würdest du mir das erklären? bitte?
ostseepixel ist offline   Mit Zitat antworten
Alt 03-02-2009, 16:02   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Einen Auszug aus einer Galerie kann ich Dir geben!!
ActionScript:
  1. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. var main_navieArray:Array = ["home_base", "basic_things", "movie_things", "navie_things", "loader_things","gallery_things", "other_things", "drawing_things"];
  3. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. var tl:MovieClip = this;
  5. var old_basic:String = null;
  6. var old_btn:MovieClip = null;
  7. for (var i:Number = 0; i<main_navieArray.length; i++)
  8. {
  9.     this.createEmptyMovieClip("container_mc"+i, this.getNextHighestDepth());
  10.     this["container_mc"+i]._x = 10;
  11.     this["container_mc"+i]._y = 130;
  12.     var mc:MovieClip = this.main_navie_mc[main_navieArray[i]+"_mc"];
  13.     mc.ID = i;
  14.     mc.onRelease = function()
  15.     {
  16.         old_btn.enabled = true;
  17.         load_x(tl["container_mc"+this.ID], main_navieArray[this.ID]+".swf", tl.main_navie_mc[main_navieArray[this.ID]+"_mc"]);
  18.     };
  19. }
  20. load_x(tl["container_mc"+0], main_navieArray[0]+".swf", this.main_navie_mc[main_navieArray[0]+"_mc"]);
  21. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  22. function load_x(wo:MovieClip, was:String, aus:MovieClip):Void
  23. {
  24.     aus.enabled = false;
  25.     old_btn = aus;
  26.     wo.loadMovie(was);
  27.     wo._alpha = 0;
  28.     function loader_funk():Void
  29.     {
  30.         if (wo.getBytesLoaded()>=4)
  31.         {
  32.             var gesamt:Number = wo.getBytesTotal();
  33.             var bereits:Number = wo.getBytesLoaded();
  34.             var prozent:Number = Math.ceil((bereits/gesamt)*100);
  35.            
  36.             if (prozent == 100)
  37.             {
  38.                 wo._alpha += 5;
  39.                 tl.old_basic._alpha -= 5;
  40.                 if (wo._alpha>=100)
  41.                 {
  42.                     tl.old_basic.unloadMovie();
  43.                     tl.old_basic = wo;
  44.                     clearInterval(loadID);
  45.                 }
  46.             }
  47.         }
  48.     }
  49.     var loadID:Number = setInterval(loader_funk, 25);
  50. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-02-2009, 16:10   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
hm das ist ja ganz lieb von dir.. aber ich glaube so ganz ohne erklärung werde ich aus dem script nicht schlau...
ostseepixel ist offline   Mit Zitat antworten
Alt 03-02-2009, 16:24   #6 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
In das Array schreibst die Namen Deiner Button's, die Buttons schiebst in einen MC mit dem Instanznamen "main_navie_mc", überall wo ".swf" steht, machst ein ".jpg" draus, dann ,müßte des funktionieren
Alles andere geht automatisch,!
Ach ja, die Bilder sollten so heißen, wie die Buttons!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-02-2009, 16:47   #7 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Uiui, setProperty() das ist ja uralt-Kram

Wenn Du noch Lust hast, dann guck Dir neben rustys Beispiel auch mal
das hier an:

ActionScript:
  1. // Import der Tweenklasse
  2. import mx.transitions.Tween;
  3. import mx.transitions.easing.*;
  4. //
  5. var i:Number = 0;
  6. // die Namen der Buttons
  7. var captions:Array = ["Bild 1 laden", "Bild 2 laden"];
  8. // Ladeziel der Bilder erstellen
  9. var pic:MovieClip = this.createEmptyMovieClip("pic", this.getNextHighestDepth());
  10. // neues MovieClipLoader-Objekt erstellen
  11. var mcl:MovieClipLoader = new MovieClipLoader();
  12. // neues Listener-Objekt
  13. var listener:Object = new Object();
  14. // sobald das Bild geladen wurde, führe die Aktionen von onLoadInit aus
  15. listener.onLoadInit = function(mc) {
  16.     // das geladene Bild einfaden, hier mc von 0 auf 100 in 1 sekunde (true)
  17.     var fadein:Tween = new Tween(mc, "_alpha", Strong.easeInOut, 0, 100, 1, true);
  18. };
  19. // Listener an MovieClipLoader anhängen
  20. mcl.addListener(listener);
  21. // die Buttons zur Laufzeit generieren
  22. for (i=0; i<captions.length; i++) {
  23.     // neuen Button generieren
  24.     var btn:MovieClip = this.attachMovie("button", "btn"+i, this.getNextHighestDepth(), {_x:i*200, _y:300});
  25.     // Button sein Label zuweisen
  26.     btn._caption.text = captions[i];
  27.     // Button einen Zähler für das zu ladene Bild zuweisen
  28.     btn._id = int(i+1);
  29.     btn.onRelease = btn.onReleaseOutside=function () {
  30.         // Bildcounter auf den aktuellen Zähler des gedrückten Button setzen
  31.         var counter:Number = this._id;
  32.         // das bereits geladene Bild (hier pic) ausfaden
  33.         var fadeout:Tween = new Tween(pic, "_alpha", Strong.easeInOut, 100, 0, 1, true);
  34.         // sobald der Tween zum Ausfaden beendet ist
  35.         fadeout.onMotionFinished = function() {
  36.             // neues Bild laden
  37.             mcl.loadClip("bild"+counter+".jpg",pic);
  38.         };
  39.     };
  40. }
  41. // erstes Bild laden in pic
  42. mcl.loadClip("bild1.jpg",pic);

Spart Dir ne Menge Schreibarbeit mit MovieClipLoader und Tween-Klasse,
weil Du nix mehr von Hand coden musst. Für den MovieClipLoader gibt es
auch noch weitere Methoden (onLoadProgress, onLoadError), guck mal
in die Hilfedatei von Flash.

Damit das funktioniert brauchst Du noch die Bilder (bild1.jpg, bild2.jpg, ...).
Die bitte im selben Ordner ablegen wie die FLA-Datei.
Wenn Du weitere Bilder laden willst, das Array captions dementsprechend
erweitern und die Bilder in den Ordner der FLA legen.
Angehängte Dateien
Dateityp: fla bilder.fla (49,0 KB, 16x aufgerufen)

Geändert von ~pyropete~ (03-02-2009 um 16:55 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 05-02-2009, 11:16   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
hallo nochmal,

ich danke euch ich hab mal beides ausprobiert...

@rusty: hm klag einfach, ein bild öffnet sich auch echt schnike, dann aber sobald ich die anderen buttons betätige passiert nichts...

@pyropete; funktioniert super nur ... deins ist ein bisschen schwerer nachzuvollziehen, vor allem habe ich jetzt das problem das ganze auf meine eigenen buttons anzuwenden...das ganze soll ja bei einem moseover passieren und nicht erst wenn man drauf klickt...


lg
ostseepixel ist offline   Mit Zitat antworten
Alt 05-02-2009, 11:31   #9 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
Zitat:
Zitat von ostseepixel Beitrag anzeigen
@pyropete; funktioniert super nur ... deins ist ein bisschen schwerer nachzuvollziehen, vor allem habe ich jetzt das problem das ganze auf meine eigenen buttons anzuwenden...das ganze soll ja bei einem moseover passieren und nicht erst wenn man drauf klickt...

lg
dann ändere doch das so um
PHP-Code:
btn.onRollOver=function () {...} 
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 05-02-2009, 11:40   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
@Decrone; Danke, das hatte ich inzwischen auch schon gelöst , eine Idee vielleicht wie ich jetzt die buttons nach unten hin anordnen lasse... weil die sich hier immer automatisch waagerecht anordnen... ?
ostseepixel ist offline   Mit Zitat antworten
Alt 05-02-2009, 11:58   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
hui ich hab jetzt auch das geschafft war gar nicht so schwer... hab einfach das i* vor das y statt vor das x gesetzt und bisschen die werte angepasst wie ichs haben wollte!!!

{_x:i*200, _y:300});


Oh vielen Dank Ihr habt mir sehr geholfen!
komme bestimmt wieder wegen anderen wehwechen!
ostseepixel ist offline   Mit Zitat antworten
Alt 05-02-2009, 12:24   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
hihi hab doch noch eine Frage bezüglich des scriptes von pyropete

meine buttons sollten jetzt einen moseover effekt haben, und da habe ich in die mc button unter die ebene _caption eine ebene reingelegt wo ein button drin ist mit dem effekt aber das funktioniert nicht... wieso nicht? und wie mach ich das richtig?

und dann habe ich noch die Frage; wie verlinke ich jeden dieser automatisch erstellten buttons zu einer anderen Seite? geht das überhaupt?

Danke
ostseepixel ist offline   Mit Zitat antworten
Alt 05-02-2009, 12:41   #13 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
schau dir mal die Array in dem die Bilder liegen. Das gleiche machste mit den Links. Also eine Array erstellen und die Links im Stringformat eintragen!

Beispiel:
PHP-Code:
var captions:Array = ["Bild 1 laden""Bild 2 laden"];
var 
bildLinks:Array = ["www.zielDomäne1.de""www.zielDomäne2.de"];

btn.onRelease = function(){
    
getURL(bildLinks[this._id], "_blank");

das Geheimnis liegt in der "_id" jeder Button/Bild bekommt beim erstellen eine _id als Nr. mit!

Gruß Dec
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 05-02-2009, 15:09   #14 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 11
Danke, das mit den Arrays hab ich jetzt wirrklich gut verstanden ...

Noch ein Tipp wie man die geladenen Bilder etwas tiefer setzt, oder andere objekte höher, weil meine objekte die dadrüber liegen sollten jetzt alle verdekt werden...

LG und vielen herzlichen Dank - indemutverbeug*
ostseepixel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
alpha, bildergalerie, script

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 08:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele