Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2008, 16:55   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
Bild immer zentral positionieren

Hallo alle zusammen!

auf www.enrico-fabian.com

dort auf projects und dann zum beispiel auf food for hungry kann man sehen was ich gern haette.

Je nach dem wie gross das Bild ist moechte ich gern, dass es immer zentral auf der Buehne( der Loaderflaeche) steht.

Dazu muss ich sicherlich die Bildgroesse auslesen und diese dann so oder aehnlich nutzen:

bild.x = (Loaderflachebreite - bildbreite) / 2

Richtig?

Ne Info waere super!

Danke und bis gleich!
da.rookie ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:07   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
bild.loaderflachebreite/bild.width/
...geht natürlich erst, wenn das Bild auch komplett geladen wurde.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:23   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
Mhh ok...also das war mir dann auch soweit klar...mir geht es darum, dass ich nicht weiss wie ich die bildgroesse bekommen kann. Hier einfach mal diesem da:

fullcontainer.x = ?????? ;

------------------------------------------------------------------
package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.errors.IOError;

import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;

import flash.net.URLRequest;
import flash.net.URLLoader;

import fl.transitions.easing.*;
import fl.transitions.Tween;
import flash.text.TextField;

import flash.filters.ColorMatrixFilter;


public class XMLImageExample extends Sprite
{
public var images:Array;
public var thumbcontainer:MovieClip = new MovieClip();
public var fullcontainer:MovieClip = new MovieClip();
public var full:Array = new Array();
public var big:Array = new Array();
private var xmlLoader:URLLoader;
private var counter:Number;
private var current:Number;
private var anz:Number= -1;
var sp:Sprite;
var output:TextField = new TextField();
var cover:Preloader = new Preloader();

public function XMLImageExample()
{
images = [];
current = 0;


xmlLoader = new URLLoader();
xmlLoader.addEventListener( Event.COMPLETE, handleXMLSuccess );
xmlLoader.addEventListener( IOErrorEvent.IO_ERROR, handleXMLError );
xmlLoader.load( new URLRequest( "data/xml/Projects_Olympic_Torch_Relay_VS_Tibetan_Torch_Rela y/images.xml" ));

fullcontainer.x = ?????? ;
fullcontainer.y = 0;

addChild(fullcontainer);
addChild(thumbcontainer);


}

private function loadThumb( url:String, url2:String ):void
{
var loader:Object = { thumb: new Loader(), full: String };

loader.thumb.contentLoaderInfo.addEventListener( Event.INIT, handleThumbSuccess );
loader.thumb.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, handleThumbError );
loader.thumb.load( new URLRequest( url ) );
loader.full = url2;

images.push( loader );

}

private function handleThumbSuccess( event:Event ):void
{
current++;

if( current >= counter )
{
var last:* = { x:-110, width: 0 };

for( var i:Number = 0; i < images.length; i++ )
{
var thumb:Loader = thumbcontainer.addChild( images[ i ].thumb ) as Loader;

var maske:Sprite = new Sprite();

maske.graphics.beginFill(0xFFFFFF);
maske.graphics.drawRect(0,0,100,70);
maske.graphics.endFill();
maske.x = last.x + 110 ;
thumbcontainer.addChild(maske);


thumb.x = last.x + 110;
thumb.name = images[i].full as String;
thumb.mask = maske;
thumb.filters = [new ColorMatrixFilter([0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0, 0, 0, 0, 0, 1, 0])];

last = thumb;
thumb.addEventListener(MouseEvent.CLICK, loadFull);
thumb.addEventListener(MouseEvent.MOUSE_OVER, over);
thumb.addEventListener(MouseEvent.MOUSE_OUT, out);

}
loadFirst();
}
}

private function handleThumbError( event:IOErrorEvent ):void
{
trace( 'Fehler beim laden von Thumb.' );
}

private function handleXMLSuccess( event:Event ):void
{
try
{
var xml:XML = new XML( event.target.data );

counter = xml.image.length();

for( var i:Number = 0; i < counter; i++ )
{
loadThumb( xml.image[ i ].@thumb, xml.image[ i ].@full );
}

}
catch( e:Error )
{
trace( 'XML Fehler: ' + e.message );
}
}

private function handleXMLError( event:IOErrorEvent ):void
{
trace( 'Fehler beim Aufrufen von XML.' );
}

private function handleFullSuccess( event:Event ):void
{


if(anz>0){fullcontainer.removeChild(big[anz-1]);fullcontainer.removeChild(cover);}
big[anz] = new Loader();
big[anz] = fullcontainer.addChild( full[anz] ) as Loader;

var maske2:Sprite = new Sprite();

big[anz].x = 0;
big[anz].y = 0;

maske2.graphics.beginFill(0x000000);
maske2.graphics.drawRect(big.x,big.y,958,445);
maske2.graphics.endFill();
fullcontainer.addChild(maske2);

big[anz].mask = maske2;

}

private function loadFull( event:MouseEvent ):void
{
var loader2:Loader = new Loader();
var url:String = event.target.name;

loader2.contentLoaderInfo.addEventListener( Event.INIT, handleFullSuccess );
loader2.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, handleThumbError );
loader2.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, handleProgress );

loader2.load( new URLRequest( url ) );
fullcontainer.addChild(cover);

full.push( loader2 );

anz++;

}

private function loadFirst():void
{
var loader2:Loader = new Loader();
var url:String = images[1].full;

loader2.contentLoaderInfo.addEventListener( Event.INIT, handleFullSuccess );
loader2.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, handleThumbError );
loader2.load( new URLRequest( url ) );

full.push( loader2 );

anz++;

}

public function removeBig()
{

if(anz<0) stage.removeChild(big[anz-1]);

}

function over(event:MouseEvent)
{
event.target.filters = [];
}

function out(event:MouseEvent)
{
event.target.filters = [new ColorMatrixFilter([0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0, 0, 0, 0, 0, 1, 0])];
}

private function handleProgress( event:ProgressEvent ):void {

var percent:Number = Math.round( event.bytesLoaded
/ event.bytesTotal * 100 );

output.text = " Loaded: " + event.bytesLoaded + "\n"
+ " Total: " + event.bytesTotal + "\n"
+ "Percent: " + percent;
}

}
}
------------------------------------------------------------------

Geändert von da.rookie (02-09-2008 um 17:25 Uhr) Grund: ein wenig einfacher gestalltet...fullcontainer.x = ?????? ; wurde eingefuegt
da.rookie ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:35   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Positionier das Bild, wenn der Event.ADDED_TO_STAGE vom Loader oder Loader.content dispatched wurde.
Omega Psi ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:37   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
ok...nur leider werde ich auch aus Deiner Antwort nicht so richtig schlau wo ich denn die Bildgroesse an sich herbekommen kann...
da.rookie ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:40   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Willst du nicht die Bilder positionieren, die du mit einem Loader lädst?
Omega Psi ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:44   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
Ja das moechte ich gern...vollkommen richtig
da.rookie ist offline   Mit Zitat antworten
Alt 02-09-2008, 17:50   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Ich hab gerade B***S*** geschrieben. Registriere einen EventListener für Event.COMPLETE. Zu dem Zeitpunkt hast du dann die Bild-Dimensionen.
Omega Psi ist offline   Mit Zitat antworten
Alt 02-09-2008, 18:26   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
Hez Omega Psi...tut mir ja echt leider aber ich kann aus Deinen Antworten nicht so richtig schlau werden....geht es ein wenig konkreter?
da.rookie ist offline   Mit Zitat antworten
Alt 02-09-2008, 18:35   #10 (permalink)
asFlasher
 
Benutzerbild von ksw24
 
Registriert seit: Jul 2006
Beiträge: 1.136
Hallo,
ich glaube er meint sowas wie:
ActionScript:
  1. loader.thumb.contentLoaderInfo.addEventListener( Event.COMPLETE, positionieren)
Bei Aufruf dieses Event steht die Dimension des Bildes fest / ist bekannt.

Gruß ksw24
ksw24 ist offline   Mit Zitat antworten
Alt 02-09-2008, 18:37   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 55
ah ja super...damit kann ich schon ein wenig mehr anfangen...werde mir das gleich mal ansehen...danke ksw24
da.rookie 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 16:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele