在游戏中我们经常会看到弹出一个对话框让我们进行选择,今天我们就在cocos2dx中实现这个对话框。对话框说白了也是一个层,当我们点击某一个按钮的时候这个层被加进了当前的场景中,同时场景中的其他的层都是不可点击的,这个时候就涉及到触摸的优先级的一些问题,当然有些时候你也可以根据自己的需要让其他的层也可以点击,但是道理都是一样的,学会了这个其他的按照自己的要求去实现吧。下面我将弹出层单独分装成一个类,供我们调用。
/*对话框场景类的头文件*/
#ifndef _POP_SCENE_H_
#define _POP_SCENE_H_
#include "cocos2d.h"
using namespace cocos2d;
class PopScene : public CCLayer
{
public:
static CCScene * scene();
bool init();
CREATE_FUNC(PopScene);
private:
//注册触摸事件,实现ccTouchBegan()方法
void registerWithTouchDispatcher();
bool ccTouchBegan(CCTouch * touch,CCEvent * pevent);
//在弹出的对话框上加俩个按钮,以下的函数是对应的按钮的处理事件
void yesButton(CCObject * object);
void noButton(CCObject * object);
//设置对话框的title