mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 21:15 Benutzername: Passwort: Auto-Login

Thema: Flash: thumbs mit alpha 0.5 laden vom 03.08.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Flash: thumbs mit alpha 0.5 laden
Autor Nachricht
Errox
Threadersteller

Dabei seit: 04.08.2008
Ort: Braunschweig
Alter: -
Geschlecht: Männlich
Verfasst Mo 03.08.2009 17:10
Titel

Flash: thumbs mit alpha 0.5 laden

Antworten mit Zitat Zum Seitenanfang

Hallu.

Zur Zeit arbeite ich an einer kleinen Galerie. Thumbnails werden angeklickt um das große Bild aufzurufen.
Nun möchte ich bei den Thumbs einen schönen Hovereffekt integrieren und das klappt auch wunderbar. Ich fahre mit der Mauss über die Thumbs und sie leuchten auf, bzw. wechseln von alpha 0.5 auf alpha 1.0.

Das Problem: Er ruft anfangs die Thumbs mit alpha 1.0 auf, was zur Folge hat, dass ich erst einmal über die Thumbs fahren muss damit sie auf alpha 0.5 runterschalten, ehe sie darauf folgend mit dem Hovereffekt richtig reagieren.

Meine Frage: Wie lasse ich die Thumbs mit alpha 0.5 aufrufen? Ich habe streng nach Tutorial gearbeitet, dann alles nochmal wiederholt und anschließend ein wenig AS3 gebüffelt. Jetzt habe ich das gesamte Script nach meinem belieben verändert, allerdings schaffe es nicht alleine und finde auch nichts, wie ich mein Problem löse. * Keine Ahnung... *

Das Script (Vorsicht, lang!):
Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var columns:Number;
var my_x:Number;
var my_y:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var my_images:XMLList;
var my_total:Number;

var container_mc:MovieClip;
var full_mc:MovieClip;

var x_counter:Number = 0;
var y_counter:Number = 0;

var my_tweens:Array = [];
var container_mc_tween:Tween;
var full_tween:Tween;

var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gallery.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML (e:Event):void{
var myXML:XML = new XML(e.target.data);

columns = myXML.@COLUMNS;
my_x = myXML.@XPOSITION;
my_y = myXML.@YPOSITION;
my_thumb_width = myXML.@WIDTH;
my_thumb_height = myXML.@HEIGHT;
my_images = myXML.IMAGE;
my_total = my_images.length();

createContainer();
callThumbs();

myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
myXMLLoader = null;

}

function callThumbs():void{
for (var i:Number = 0; i < my_total; i++){

var thumb_url = my_images[i].@THUMB;;
var thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

thumb_loader.name = i;

thumb_loader.x = (my_thumb_width+4)*x_counter;
thumb_loader.y = (my_thumb_height+4)*y_counter;

if (x_counter+1 < columns){
x_counter++;
} else {
x_counter = 0;
y_counter++;
}

}
}

function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);

my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
}

function createContainer():void {
container_mc = new MovieClip();
container_mc.x = my_x;
container_mc.y = my_y;
addChild(container_mc);

container_mc.addEventListener(MouseEvent.CLICK, callFull);
container_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
container_mc.addEventListener(MouseEvent.MOUSE_OUT, onOut);
container_mc.buttonMode = true;

}

function callFull(e:MouseEvent):void{
var full_loader:Loader = new Loader();
var full_url = my_images[e.target.name].@FULL;
full_loader.load(new URLRequest(full_url));
full_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);

container_mc.removeEventListener(MouseEvent.CLICK, callFull);
container_mc.buttonMode = false;
container_mc.removeEventListener(MouseEvent.MOUSE_OVER, onOver);
container_mc.removeEventListener(MouseEvent.MOUSE_OUT, onOut);
container_mc_tween = new Tween(container_mc, "alpha", Strong.easeIn, 1,0.5,0.5, true);

var my_tween:Tween = Tween(e.target);
my_tween.removeEventListener(TweenEvent.MOTION_FINISH, tweenFinished);
}

function fullLoaded(e:Event):void{
full_mc = new MovieClip();
full_mc.buttonMode = true;
addChild (full_mc);
var my_loader:Loader = Loader(e.target.loader);
full_mc.addChild(my_loader);
full_tween = new Tween(my_loader, "alpha", Strong.easeIn, 0,1,0.3, true);
my_loader.x = (stage.stageWidth - my_loader.width)/2;
my_loader.y = (stage.stageHeight - my_loader.height)/2;
my_loader.addEventListener(MouseEvent.CLICK,removeFull);

my_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, fullLoaded);
}

function removeFull(e:MouseEvent):void{
var my_loader:Loader = Loader (e.currentTarget);
full_tween = new Tween(my_loader, "alpha", Strong.easeOut, 1,0,0.3, true);
full_tween.addEventListener(TweenEvent.MOTION_FINISH, tweenFinished);

container_mc_tween = new Tween(container_mc, "alpha", Strong.easeOut, 0.5,1,0.3, true);

}

function tweenFinished (e:TweenEvent):void{
var my_loader:Loader = Loader (e.target.obj);
my_loader.unload();
full_mc.removeChild(my_loader);
removeChild(full_mc);
full_mc = null;

container_mc.addEventListener(MouseEvent.CLICK, callFull);
container_mc.buttonMode = true;
container_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
container_mc.addEventListener(MouseEvent.MOUSE_OUT, onOut);
}
function onOver (e:MouseEvent):void{
var my_thumb:Loader = Loader(e.target);
my_thumb.alpha = 1.0;
}
function onOut (e:MouseEvent):void{
var my_thumb:Loader = Loader (e.target);
my_thumb.alpha = 0.5;
}


Muss ich eine Variable einsetzen und dann in der Funktion callThumbs() aufrufen? Hmm...?!


Freundliche Grüße, Errox. Lächel
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mo 03.08.2009 17:20
Titel

Antworten mit Zitat Zum Seitenanfang

versuchs mal so:

Code:
function callThumbs():void{
   for (var i:Number = 0; i < my_total; i++){

      var thumb_url = my_images[i].@THUMB;;
      var thumb_loader = new Loader();
      thumb_loader.load(new URLRequest(thumb_url));
      thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

      thumb_loader.name = i;
      
      thumb_loader.alpha = 50;
      thumb_loader.x = (my_thumb_width+4)*x_counter;
      thumb_loader.y = (my_thumb_height+4)*y_counter;

      if (x_counter+1 < columns){
         x_counter++;
      } else {
         x_counter = 0;
         y_counter++;
      }

   }
}
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Errox
Threadersteller

Dabei seit: 04.08.2008
Ort: Braunschweig
Alter: -
Geschlecht: Männlich
Verfasst Mo 03.08.2009 17:37
Titel

Antworten mit Zitat Zum Seitenanfang

Hm, ne. Hat leider nicht geklappt. Ich muss immernoch erst über den Thumb fahren, damit er auf alpha0.5 runterschaltet.
Habe es auch so
Code:

      thumb_loader.alpha = 0.5;

versucht, aber das ist eigentlich egal, oder?
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 03.08.2009 17:37
Titel

Antworten mit Zitat Zum Seitenanfang

@sahnemuh: Das was Du da hast is AS2, er hat aber AS3. Ansonsten wäre das aber eine möglichkeit.


@errox: DU sagst ihm doch, daß die Thumbs am Anfang volles Alpha haben sollen

Code:
function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);

my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
}


Da sagst Du ihm "Wenn Du geladen hast, füge das Bild der stage hinzu und fade es von 0 auf 1. Fade doch einfach auf 0.5
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Errox
Threadersteller

Dabei seit: 04.08.2008
Ort: Braunschweig
Alter: -
Geschlecht: Männlich
Verfasst Mo 03.08.2009 17:48
Titel

Antworten mit Zitat Zum Seitenanfang

*Huch*
Code:
my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,0.5,1, true);

*Thumbs up!*

Dank dir! * Applaus, Applaus *
  View user's profile Private Nachricht senden
 
Ähnliche Themen extern laden mit alpha tweening?
Flash Bildergalerie: Scrolling der Thumbs stoppen
Flash & Alpha Tweens - Performance
[flash] alpha-tween per actionscript
[SUCHE] Flash Überlendeffekt (kein alpha)
Alpha Tweening Flash extern Fotogallery
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.