2010-12-16 8 views
2

Ich habe 2 CCMenuItems A und BWenn zwei CCMenuItem sich gegenseitig überlappen, ist es möglich, eine Priorität gegenüber der anderen zu haben?

A ist ein Bildschirm weite transparente Schaltfläche und B ist eine tatsächliche Schaltfläche, die sichtbar wird gesetzt, wenn ein

Zeit berührt wird, wenn ich B bin zu berühren, A antwortet mit seiner Selektormethode und grundsätzlich reagiert B nicht, weil die Berührung durch den Selektor von A "genommen" wird.

Ich brauche B, um zu reagieren, obwohl A eine Bildschirm-weite Taste ist, so- Ist es möglich, den Selektor von B zu priorisieren, wenn er gedrückt wird?

Zusammenfassend, ich schalte die Sichtbarkeit von B über A um und möchte B verwenden können, wenn es sichtbar ist.

Ist das möglich? Wie kann es gemacht werden?

Antwort

0

Entweder können Sie die Tasten yourButton.isEnabled auf NO stellen oder Sie können einfach die A-Taste aus der Szene bewegen, wenn Sie keine Eingabe wünschen.

+0

Vielen Dank für die Antwort, aber das Problem mit diesem Ansatz ist, dass ich die Funktion von Knopf A verlieren werde. Ich hoffe, die B-Taste umschalten zu können, wenn ich irgendwo auf dem Bildschirm berühre, auch wenn B sichtbar ist. – Azeworai

+0

Ah ok, was ist, wenn Sie ihre z mit reorderChild ändern? Könnte das helfen? Es ist einfacher, wenn ich Code sehe. – Mikael

+0

Danke für Ihre Hilfe Zebulon. Ich bin mir nicht sicher, wie ich reorderChild verwenden kann. Ich habe versucht, die z auf Init die größere Taste z = 1 und die kleineren Tasten, die darüber angezeigt werden soll, z = 2 sein. Es scheint sich auf die z-Reihenfolge des Bildes auszuwirken (ich habe die transparente Ebene in eine durchsichtige Ebene geändert), hilft aber nicht wirklich bei der Auswahl der Priorität. – Azeworai

0

Es ist möglich, ein zusätzliches CCMenu mit einer höheren z-Reihenfolge für die Schaltfläche B.

1

für mich zu verwenden, arbeiteten ein Menü in einer Schicht und ein weiteres Menü Zugabe in anderer Schicht

+0

Es wäre besser, wenn Sie Ihre Antwort erarbeiten. –

1

I)

Ja, Sie können Ihre CCMenuItems durch Setzen der Z-Reihenfolge priorisieren.

Erste Schaltfläche, die Berührung erhält, ist die Schaltfläche mit der niedrigsten Z-Reihenfolge.

II)

Und wenn Sie möchten, dass Ihre CCMenu s priorisieren, müssen Sie sie setTouchPriority(..).

Je weniger Priorität Sie geben, desto früher wird Ihre CCMenu die Berührung behandeln. (CCMenu 's Standardwert ist -128).

Verwandte Themen