Verzweiflung bei Bilderkarussel

yeronimo

Erfahrenes Mitglied
ich habe in meinem Bilderkarussel vor über jedes Bild einen grauen schatten zu legen, damit es abgeblasst aussieht.
Das Problem ist, das ich den grauen Schatten (grafik) zwar über jedes Bild bekomme, aber er soll sich bei mouseout drüberlegen und bei mouseover verschwinden.
das habe ich verscuht in dem ich den alpha wert des grauen Schattens entweder auf 0 oder 60 setze.

Passieren tut aber nichrts.... :(
Mein Code:
Code:
import mx.utils.Delegate;

var numOfItems:Number;
var radiusX:Number = 270;
var radiusY:Number = 100;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.05;
var perspective:Number = 1;
var home:MovieClip = this;
var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;
var t;

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load("icons.xml");

xml.onLoad = function()
{
	var nodes = this.firstChild.childNodes;
	numOfItems = nodes.length;

	for(var i=0;i<numOfItems;i++)
	{
		t = home.attachMovie("item","item"+i,i+1);
		t.angle = i * ((Math.PI*2)/numOfItems);
		t.onEnterFrame = mover;
		
		t.toolText = nodes[i].attributes.tooltip;
		t.toolText2 = nodes[i].attributes.tooltip2;		
		t.icon.inner.loadMovie(nodes[i].attributes.image);
		t.r.inner.loadMovie(nodes[i].attributes.image);
		
		t.icon.grayShade._alpha = 60;
		
		t.icon.onRollOver = over;
		t.icon.onRollOut  = out;
		t.icon.onRelease  = released;
		
		t.icon._width = t.icon._width/2.7;
		t.icon._height = t.icon._height/2.5;
		
		t.icon._alpha = 100;
		
		t.r._width = t.r._width/2.7;
		t.r._height = t.r._height/2.7;
		
		trace(t.icon.grayShade._width);
	}
		
}

function over()
{
	home.icon.grayShader.grayShade._alpha = 0;	
	trace(t.icon.grayShade._width);
	
    home.tooltip.tipText.text = this._parent.toolText;
	home.tooltip.tipText2.text = this._parent.toolText2;
	home.tooltip._alpha = 100;
	home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
}

function out()
{	
	t.icon.grayShade._alpha = 60;
	home.tooltip.tipText.text = this._parent.toolText;
	home.tooltip.tipText2.text = this._parent.toolText2;
	home.tooltip._alpha = 0;
	home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
}

function released()
{
	trace(this._parent.toolText);
}

function moveTip()
{
	home.tooltip._x = this._parent._x;
	home.tooltip._y = this._parent._y - this._parent._height/1.7;
}


function mover()
{
	this._x = Math.cos(this.angle) * radiusX + centerX;
	this._y = Math.sin(this.angle) * radiusY + centerY;
	var s = (this._y - perspective) /(centerY+radiusY-perspective);
	this._xscale = this._yscale = s*120;
	this.angle += this._parent.speed;
	this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
	speed = (this._xmouse-centerX)/38500;
}


Edit:
Das Symbol(movieClip) heißt grayShader, das habe ich auf die Grafikmaske gelegt und der Instanzname ist: grayShade
 
Zuletzt bearbeitet:
Nur als Tipp/Bitte...
Nutze die Tags [ C O D E ] [ / C O D E ] um deinen Code zu formatieren, dass will sich doch niemand anschauen.
Die Tags nartürlich ohne Leerzeichen.
 
das ist doch bestimmt gar nicht so ein kompliziertes Problem, hat einer eine Konstruktive Antwort ?

Wäre Super, danke im vorraus

Gruß

Ron
 
Das Symbol(movieClip) heißt grayShader, das habe ich auf die Grafikmaske gelegt und der Instanzname ist: grayShade
home.icon.grayShader.grayShade._alpha = 0;

Ist denn in dem MC mit dem Instanznamen grayShader ein MC mit dem Instanznamen grayShade, und nur letzterer soll ausgeblendet werden?

function out()
{
t.icon.grayShade._alpha = 60;
//...

In der Funktion ist nur das letzte t, welches von der for-Schleife erstellt wurde, verfügbar - ist das so beabsichtigt?

Wenn das nicht geholfen hat poste mal bitte die fla, der code ist mehr verwirrend als hilfrich :)
 
ähm :D ja, das letzte ist leider nur das bei dem es funktioniert...
in rayshader ist der mc und unten hab ich bei Instanzname "grayShade" geschrieben.

im Anhang mal die fla Datei ^^
 
Zuletzt bearbeitet:
home.icon.grayShader.grayShade._alpha = 0;
wird zu
Code:
home.icon.grayShade._alpha = 0;

Ich kanns nicht testen, da ich grad keine Beispielbilder zur Hand habe, aber so sollte es gehen. Es gab garkeinen MC Namens grayShader im MC 'icon'...?
 
so gehts nicht, hatte iochs chon probiert. ich hab versucht die größe auszugeben, aber da kommt auch immer "undefined" ist also nicht richtig.

es gibt keinen ?
ich hab den Grayshader einfach erstellt und mit der maus bei icon reingezogen, istd as falsch ?

ich verstehs langsam nicht mehr ^^

vergess ich das oben evtl. irgendwie zu attachen ? oder muss ich an der Deklaration etwas ändern ?

Danke, Gruß

Ron
 
Achte bitte etwas mehr auf die Nettiquette, vor allem Groß- und Kleinschreibung.

Lass dir doch mal icon selbst ausgeben, geht das? Dann die nächste Stufe - geht das? Dann weißt du schonmal, wo der Fehler liegt. Es gibt einen MC namens grayShade. Aber keinen namens grayShader.

Oh, und hier:

Code:
t.icon.grayShade.onRollOver = function() {
this._alpha = 0;	
}

t ist in dieser Funktion falsch definiert, deswegen hat immer nur das letzte Bild geblinkt. Analog in der onRollOut-Funktion. Jetzt gehts bei mir.
 
Zuletzt bearbeitet:
Doch, rechts steht doch einer "grayShader" mit r am Ende. Bei mir zumindest ^^
Eigentlich habe ich dir die gleiche fla datei geschickt.

Zu den Testausgaben, also wenn ich versuche:


- t.icon._width undefined
- home.icon._width undefined
- home.grayShader.grayShade._width undefined
....


also eigentlich egal was ich versuche, es tut nicht... (zumindest mit home, t, icon, item, ...) aber wenn ich tooltip ausgebe, dann tut es !
Wieso denn das ? Er legt wenigstens die grauen elemente über jedes Bild, aber einzeln ansteuern lassen geht nicht und schon garn icht von einer Methode außerhalb der load Methode.

Er kennt die dort quasi gar nicht.

Irgendeine Idee ?


Danke, Gruß
Ron
 
ja ! das geht schonmal sauber ! :)

aber warum geht das oben in der rollOver function und in der unten nicht ?

denn wenn ich das so mache, wie muss ich dann den tooltip auf this abändern damit der da oben laeuft ?

Code:
                this.tooltip.tipText.text = this._parent.toolText;
				this.tooltip.tipText2.text = this._parent.toolText2;
				this.tooltip._alpha = 100;
				this.tooltip.onEnterFrame = Delegate.create(this,moveTip);

denn den hatte ich bisher inder unteren Methode.


Danke! , Gruß
Ron
 

Neue Beiträge

Zurück