【cocos2dx 3.10】自定义事件的实现

1.定义事件名

//自定义事件名
#define TABLEEVENT_NAME      "tableEvent"


2.响应函数

void TableBall::onTableEvent(EventCustom* event)
{
	int* eventSign = static_cast<int*>(event->getUserData());

	switch (*eventSign)
	{
	case TURNHIT_EVENT:
	{
		CCLOG("turn other hit ball");
	}
	break;

	default:
		break;
	}
}


event->getUserData()可以获取到存放附加信息的指针


3.生产自定义消息

//自定义事件
	auto listenerCustom = EventListenerCustom::create(TABLEEVENT_NAME, CC_CALLBACK_1(TableBall::onTableEvent, this));
	eventDispatcher->addEventListenerWithFixedPriority(listenerCustom, 3);

4.触发自定义事件

//进入一轮击球
			_signEvent = TURNHIT_EVENT;
			Director::getInstance()->getEventDispatcher()->dispatchCustomEvent(TABLEEVENT_NAME, static_cast<void*>(&_signEvent));

_signEvent不能是临时变量。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值