cocos2d-x: cocos2d-x 在当前场景中点击图片按钮进入下一场景

本文介绍如何在Cocos2d-x中通过触摸事件处理实现按钮点击功能,包括获取点击位置、判断点击区域及场景切换等操作,并提供使用菜单按钮替代方案。
1.按钮可以在触摸里面判断,void ccTouchesEnded(CCSet* touches, CCEvent* event);
  首先获得点击屏幕的点,
  CCTouch* touch = (CCTouch*)(touches->anyObject());
  CCPoint touchPoint = touch->getLocationInView();
  touchPoint = CCDirector::sharedDirector()->convertToGL(touchPoint);
  然后在获得图片按钮的矩形(sprite),
  CCRect rect = sprite->boundingBox();
  在判断你点击的这个点touchPoint 是否在图片按钮矩形里面rect ;
   if(rect.containsPoint(touchPoint))
    {//为true就进来,说明点中在图片按钮矩形里面
    CCScene* scen = /*下一场景的实例类*/HelloWorld::scene();
    CCDirector::sharedDirector()->replaceScene(scen);
    }

   最后提醒,在使用触摸实现此功能的时候,一定要先开启触摸响应。
   this->setTouchEnabled(true); //开启触摸响应
  这是2.1版本的.
2.当然也可以把图片按钮做成菜单CCMenu,然后在按钮上添加回调函数,同样可以实现进入下一场景。
  点击的时候切换场景执行:CCDirector::sharedDirector()->replaceScene(scene);
  这个scene是你自己创建好的下一个场景。
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值