cocos2d. So erstellen Sie ein popup, Modaler dialog (mit CCLayer)
Ich brauche, um ein modales Dialogfeld(geerbt von CCLayer), das zeigt in der Mitte der Haupt-Ebene.
Während es angezeigt wird, können Sie nicht drücken Sie eine beliebige andere Taste, die außerhalb des Dialogfensters.
Genau wie eine normale modale Fenster in MS-Windows-System.
Das problem ist, dass ich kann nicht herausfinden, wie man deaktivieren, um die mainlayer touch-Ereignisse, während der dialog angezeigt wird.
Jede Hilfe wäre aprreciated.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie einfach
in der Haupt-Ebene, während das popup angezeigt wird. Dann später diese Einstellung wieder auf "JA".
- (void)menuButtonTapped:(id)sender { NSLog(@"clicked a button"); [self setIsTouchEnabled:NO]; CCLayerColor *colorLayer = [CCLayerColor layerWithColor:ccc4(0, 0, 0, 255)]; [colorLayer setOpacity:80]; [self addChild:colorLayer];
isMouseEnabled
auch. 🙂Dies funktioniert für mich in Cocos2d-x, kann aber angepasst werden Cocos2d zu.
Habe ich ändern setParent zu:
Hinzugefügt und die folgenden rekursiven code zum speichern der touch-Delegierten, so kann ich Sie wiederherstellen, wenn das Dialogfeld entlassen: