cocos2d-x中实现对话框

本文介绍如何在cocos2d-x游戏中创建一个对话框。由于引擎默认未提供所需功能,作者通过继承Layer类来自定义对话框。详细步骤包括编写Dialog.h和HelloWorldScene.h等代码。
摘要由CSDN通过智能技术生成

最近在学习cocos2d,需要使用对话框,但是cocos2d引擎并没有提供可以实现所需功能的对话框,没办法,就只好自己来写一个。其实对话框就是一个层,写一个类继承Layer就可以了,废话不多说,直接上代码。

Dialog.h

#ifndef _Dialog_Layer_
#define _Dialog_Layer_

#include "cocos2d.h"

USING_NS_CC;

class Dialog:public Layer
{
public:
	Size m_size;
	Dialog();
	~Dialog();
	static Scene* createScene();
	virtual bool init();
	 bool addButton(const char* normalImage,const char* selectedImage,
		 const char* button_title,int tag,Vec2 position);//添加菜单按钮
	 bool addButton(const char* normalImage, const char* selectedImage, int tag, Vec2 position);
	 void setCallbackFunc(CCObject* target, SEL_CallFuncN callfun);//设置回调函数,知道是哪个按钮被点击
	 void setTitle(const char* titles, int fontSize);//设置对话框标题
	 const char* getTitle();//获得对话框标题
	 int getTitleSize();//获得标题字体大小
	 void setContent(const char* contents,int fontsize);//设置显示内容
	 const char* getContentLabel();//获取对话框内容
	 int getContentFontSize();//设置内容的字体大小
	 void setBackground(const char* backgroundImage);//设置背景图
	 void  ButtonCallback(Ref* sender);//按钮的点击事件响应

	 virtual void onEnter();//重写onEnter()函数
	 virtual void onExit();

	 CCObject* m_callbackListener;
	 SEL_CallFuncN m_callback;

	CREATE_FUNC(Dialog);
private:
	Menu *menu;
	Vector<Node*> node;
	const char* m_title;
	const char* m_content;
	int m_title_fontSize;
	int m_content_fontSize;
	Sprite * sprite_m;
	Sprite* background;
	Size visiableSize;
	const char* backgroundImage;
};
#endif 
Dialog.cpp

#include "Dialog.h"
#include "cocos2d.h"

USING_NS_CC;


Dialog::Dialog():
	m_title(NULL),
	m_content(NUL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值