Mittelpunkt

cavigelli

Grünschnabel
·Ich habe ein Problem und zwar habe ich ein leeres Movieobjekt erstellt. Dieses Movieobjekt lade ich beim Starten mit einem externen Bild oder Movie. Spielt ja grundsätzlich keine Rolle. Nun ist meine Frage wie kann ich es machen das er denn Ausgangspunkt nicht oben rechts nimmt sondern zentriert? Das heisst der Punkt denn ich erstellt habe vom Movieobjekt aus, dass soll der Mittelpunkt des Bildes sein und nicht der punkt oben rechts... ist das möglich?
 
Sofern du schon weist wie groß dein Bild ist, ist es am einfachsten wenn du in deinen MovieClip("mutter") noch einen weiteren MovieClip("kind") "legst" und "kind" dann innerhalb von "mutter" zentrierst. Also um die hälfte der Breite des Bildes nach links und um die hälfte der Höhe nach oben verschiebst.

Ansonsten kann man auch per Actionscript abfragen wie breit denn so ein Bild es und es dann entsprechend verschieben.
Ich würde sowas dann aber auch mit 2 MovieClips lösen.
So in der Art:
Falls du einen wirklich leeren Movieclip belädst, also einer wo nichts drin ist:
PHP:
function observeMc ( mc )
{
	clearInterval ( OSMC )
	if ( mc._width > 10 )
	{
		mc._x = 0 - mc._width/2
		mc._y = 0 - mc._height/2
	}
	else
	{
		OSMC = setInterval ( this, "observeMc", 100 )
	}
}
//-----------
mutter.kind.loadMovie("wasauchimmer.swf" )
observeMc ( mutter.kind )
Das Interval ist nötig, da sofern das ganze mal online laufen soll, es eine gewisse Zeit dauert bis ein Bild geladen wird. Das Skript prüft alle 100 Millisekunden ob das Bild schon da ist und verschiebt dann das Bild.
Falls dein MovieClip in den du dein Bild lädst schon eine gewisse Breite hat, ist die Bedingung "if ( mc._width > 10 )" nicht optimal, alternativ könnte man das auch so lösen:
PHP:
function observeMc ()
{
	clearInterval ( OSMC )
	var t = mc.getBytesTotal ()
	var l = mc.getBytesLoaded ()
	if ( t > 100 && l == t )
	{
		mc._x = 0 - mc._width/2
		mc._y = 0 - mc._height/2
	}
	else
	{
		OSMC = setInterval ( this, "observeMc", 100 )
	}
}

Den MovieClip den du als Parameter übergibst wird nur in Bezug auf seinen übergeordneten MovieClip zentriert ausgerichtet, sofern der irgendwo schief rumliegt, wird man den Effekt von dem Skript kaum merken... ; )
 
Zurück