Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-12-2009, 07:26   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 59
Question Grafik Ebene verdeckt Buttons / Events für Ebene deaktivieren

Hi Folks,

ich habe folgendes Konstrukt:

1. Ich erstelle ein paar Buttons und platziere sie auf der Bühne
(neues Sprite > drawRoundRect > addChild)

2. Die Buttons erhalten ihre Events
(MOUSE_OVER, MOUSE_OUT)

3. Ich platziere ein grafisches Element auf der Bühne, dass die Buttons verdeckt, lasst uns dieses 'ElementX' nennen,
(Es handelt sich um einen Verlauf)

Die Buttons sind weiter sichtbar, mit der Maus aber nicht mehr erreichbar. Wie kann ich nun Flash aktiv mitteilen, dass ElementX keine Events haben soll und im Event-Sinne transparent ist. Geht das?

Ich habe hier im Forum eine Lösung gefunden, bei der eine 3. Ebene mit transparenten Buttons ganz nach oben gelegt wird, dass finde ich aber etwas dirty und würde ich erst als letzte Option in Erwägung ziehen.

Jemand eine Idee=?
flash-rockt ist offline   Mit Zitat antworten
Alt 09-12-2009, 07:32   #2 (permalink)
dr monk
Gast
 
Beiträge: n/a
Moin.

Die Frage gabs hier schonmal. Vielleicht war da auch die Lösung.

MfG Monk
  Mit Zitat antworten
Alt 09-12-2009, 07:59   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 59
Hi Monk,

jo das ist genau mein Problem, leider war der Fragesteller so nett, die Antwort nicht zu posten

mouseChildren ist eine tolle Eigenschaft, die ich sogar schon auf meine Buttons anwende. Damit können die Events der 'Kinder' - in meinem Fall - des Textfields disabled werden.

Da das Overlay aber kein Kind der Buttons ist, hat diese Eigenschaft hier aber keinen Einfluss.

Noch eine andere Idee?
flash-rockt ist offline   Mit Zitat antworten
Alt 09-12-2009, 08:31   #4 (permalink)
dr monk
Gast
 
Beiträge: n/a
Speichere deinen Verlauf mal als Grafik. Zumindest funktioniert das bei mir.

Ansonsten kannst du vielleicht auch hitTestObjekt verwenden. Dieses ignoriert dummerweise alles was im Vordergrund liegt (Dummes Teil...)

MfG Monk
  Mit Zitat antworten
Alt 09-12-2009, 08:52   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 59
"Speichere deinen Verlauf mal als Grafik"

So einfach kann ich es mir leider nicht machen. Meine Anwendung ist schon etwas komplexer und muss MC bleiben, ich habe die Beschreibung halt nur auf das Wesentliche reduziert, damit man schneller weiß, worum es geht.

Eigentlich suche ich genau nach der Eigenschaft:
mouseChildren = false;
Nur das sich diese Eigenschaft nicht auf die Kinder, sondern auf das Objekt selbst beziehen soll.

Something like:

ElementX.ignorierMichAlsmouseEventEbene = true;
flash-rockt ist offline   Mit Zitat antworten
Alt 09-12-2009, 11:55   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 59
Für alle denen die Lösung mit der Umwandlung in eine BitmapData genügt, habe ich hier mal einen kurzen Beispiel Code erstellt:

Code:
var button:Sprite = new Sprite;
	button.graphics.beginFill(0xff0000);
	button.graphics.drawRect(50,50,100,100);
	button.graphics.endFill();
	button.buttonMode = true;
	button.addEventListener(MouseEvent.MOUSE_OVER,overHandler);
	button.addEventListener(MouseEvent.MOUSE_OUT,outHandler);

var overlay:Sprite = new Sprite;
	overlay.graphics.beginFill(0x00ff00);
	overlay.graphics.drawRect(0,0,200,200);
	overlay.graphics.endFill();
	overlay.buttonMode = false;

var bitmap:BitmapData = new BitmapData(200, 200);
	bitmap.draw(overlay);
var bmp:Bitmap = new Bitmap(bitmap);
	bmp.alpha = 0.5;

addChild(button);
addChild(bmp);

function overHandler(e:Event){
	trace('over : ' + e.currentTarget.name);
}
function outHandler(e:Event){
	trace('out : ' + e.currentTarget.name);
}
Wenn jemandem noch eine Eigenschaft einfällt (so wie ich sie suche), dann möge er bitte noch ergänzen. Auch ein Kommentar "Hör auf zu suchen, diese Eigenschaft gibt es nicht" wäre hilfreich.
flash-rockt ist offline   Mit Zitat antworten
Alt 09-12-2009, 12:23   #7 (permalink)
Neuer User
 
Registriert seit: May 2002
Beiträge: 130
meinSprite.mouseEnabled = false;
__________________
www.poisonfree.com
MrManson ist offline   Mit Zitat antworten
Alt 09-12-2009, 13:40   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 59
Jeah - genau DAS habe ich gesucht.

DANKE Manson.
flash-rockt ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
buttons, ebene, events, mouse

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ebene "einfrieren" - buttons einer ebene sollen nicht mehr aktiviert werden können BlackMole ActionScript 1 3 30-03-2006 19:11
Movieclip durch Ebene verdeckt! laservader Flash MX 1 29-05-2005 11:26
MC soll von Ebene verdeckt werden Nick-Viper Flash 4 und Flash 5 14 18-02-2005 03:01
Buttons, die durch einen MC verdeckt werden, deaktivieren tobiassch Flash 4 und Flash 5 18 19-03-2003 08:54
Ebene 1 verdeckt Ebenen 2 - 10 ...??? MCD-Sign Flash 4 und Flash 5 3 08-11-2001 10:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele