cocos2dx 举例说明 convertToNodeSpace 与 convertToWorldSpace 的使用
来源:互联网 发布:wowtbc数据库t6 套 编辑:程序博客网 时间:2024/05/18 00:07
convertToNodeSpace:把世界坐标转换到当前节点的本地坐标系中。
- //可以应用于判断子节点是否被点击,这时就需要把坐标从世界坐标系转换为父节点的坐标系。
- //当然大多数情况会用CCMenu,但有时CCMenu就不适用了,比如长按触发响应的时候。
- void HelloWorld::myInit14()
- {
- CCSize size = CCDirector::sharedDirector()->getWinSize();
- //创建父节点
- CCSprite* back = CCSprite::create("ui_miss_butt_bj2song.png");
- back->setPosition(ccp(size.width*0.5, size.height*0.5));
- this->addChild(back,1,123);
- //创建子节点
- CCSprite* buttonSP = CCSprite::create("team_ok_butt.png");
- buttonSP->setPosition(ccp(back->getContentSize().width*0.8, back->getContentSize().height*0.5));
- back->addChild(buttonSP,1,321);
- }
- bool HelloWorld::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
- {
- beganPoint = pTouch->getLocation();
- return true;
- }
- void HelloWorld::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
- {
- CCPoint endPoint = pTouch->getLocation();
- CCSprite* back = (CCSprite*)this->getChildByTag(123);
- CCSprite* buttonSP = (CCSprite*)back->getChildByTag(321);
- //convertToNodeSpace 把世界坐标转换到当前节点的本地坐标系中。
- CCPoint nodeBeganPoint = back->convertToNodeSpace(beganPoint);
- CCPoint nodeEndPoint = back->convertToNodeSpace(endPoint);
- //判断子节点是否被点击
- if (buttonSP->boundingBox().containsPoint(nodeBeganPoint) && buttonSP->boundingBox().containsPoint(nodeEndPoint)) {
- CCLog("被点到了");
- }
- }
convertToWorldSpace:把基于当前节点的本地坐标系下的坐标转换到世界坐标系中。
- //sp3是sp2的子节点,sp2是sp1的子节点。
- void HelloWorld::myInit13()
- {
- CCSize size = CCDirector::sharedDirector()->getWinSize();
- CCSprite* sp1 = CCSprite::create("Icon.png");
- sp1->setPosition(ccp(size.width*0.5, size.height*0.5));
- this->addChild(sp1);
- CCSprite* sp2 = CCSprite::create("Icon.png");
- sp2->setColor(ccYELLOW);
- sp2->setPosition(ccp(sp1->getContentSize().width, sp1->getContentSize().height));
- sp1->addChild(sp2);
- CCSprite* sp3 = CCSprite::create("Icon.png");
- sp3->setColor(ccBLUE);
- sp3->setPosition(ccp(sp2->getContentSize().width, sp2->getContentSize().height));
- sp2->addChild(sp3);
- //convertToWorldSpace:把基于当前节点的本地坐标系下的坐标转换到世界坐标系中。
- CCPoint worldPoint = sp3->convertToWorldSpace(sp3->getAnchorPointInPoints());
- CCLog("worldX == %f, worldY == %f",worldPoint.x,worldPoint.y);
- //sp4正好覆盖掉sp3,说明转换到世界坐标系中的坐标正确。
- CCSprite* sp4 = CCSprite::create("Icon.png");
- sp4->setColor(ccGREEN);
- sp4->setPosition(worldPoint);
- this->addChild(sp4);
- }
0 0
- cocos2dx 举例说明 convertToNodeSpace 与 convertToWorldSpace 的使用
- cocos2dx 举例说明 convertToNodeSpace 与 convertToWorldSpace 的使用
- cocos2dx 举例说明 convertToNodeSpace 与 convertToWorldSpace 的使用
- cocos2dx convertToNodeSpace和convertToWorldSpace
- convertToWorldSpace与convertToNodeSpace
- convertToWorldSpace convertToNodeSpace
- 坐标系转换之convertToNodeSpace 与 convertToWorldSpace
- ConvertToNodeSpace和convertToWorldSpace函数的应用
- ConvertToNodeSpace和convertToWorldSpace函数的应用
- cocos2dx 坐标之convertToNodeSpace、convertToWorldSpace、convertToNodeSpaceAR、convertToWorldSpaceAR区别和用法
- cocos2dx convertToWorldSpace的用法
- convertToNodeSpace和convertToWorldSpace
- convertToNodeSpace和convertToWorldSpace
- 【COCOS2DX-游戏开发之三一】之 坐标系(下) convertToNodeSpace和convertToWorldSpace
- 【COCOS2DX-游戏开发之三一】之 坐标系(下) convertToNodeSpace和convertToWorldSpace
- cocos2d-x convertToWorldSpace和convertToNodeSpace
- cocos2d-x convertToWorldSpace和convertToNodeSpace
- cocos2d-x convertToWorldSpace和convertToNodeSpace
- 文章列表
- [Android Tools] Android Killer V1.2正式版 发布信息
- C++编译机制(vc++)
- eclipse debug 执行到断点处并没有停下,断点无效问题
- ios的状态栏
- cocos2dx 举例说明 convertToNodeSpace 与 convertToWorldSpace 的使用
- 【SQL-码农】MSSQl分布式查询
- hybris 电商开发实施客户案例,在线研讨会
- 关于快速选择算法,自己的一点小领悟
- 【BootStrap】--折叠插件
- 学习Javascript闭包(Closure)
- 坐标
- PHP中magic_quotes_gpc和 magic_quotes_runtime区别及其反斜线转义问题
- MySql 代码收集