cocos2dx 某缩放的页面 CCTableView最后一个标签无法点中
来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:19 点击:次
有一个二级界面,在ipad4下面放大到1.6倍,直接对最外层的CCLayer缩放的,里面包含有CCTableView。结果运行的时候无法选中到最后一个标签,无论总的标签是2个还是更多,单步调试,发现到ccTouchEnded的时候判断的点击范围有问题,修改成下面的就好了。具体原因没有时间解释了,大家看看估计也明白了。
p>
p>原:
p>
p>
p>void CCTableView::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
p>{
p> if (!this->isVisible()) {
p> return;
p> }
p>
p> if (m_pTouchedCell){
p> CCRect bb = this->boundingBox();
p> bb.origin = m_pParent->convertToWorldSpace(bb.origin);
p>
p> if (bb.containsPoint(pTouch->getLocation()) && m_pTableViewDelegate != NULL)
p> {
p> m_pTableViewDelegate->tableCellUnhighlight(this, m_pTouchedCell);
p> m_pTableViewDelegate->tableCellTouched(this, m_pTouchedCell);
p> }
p>
p> m_pTouchedCell = NULL;
p> }
p>
p> CCScrollView::ccTouchEnded(pTouch, pEvent);
p>}
p>
p>新:
p>
p>
p>void CCTableView::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
p>{
p> if (!this->isVisible()) {
p> return;
p> }
p>
p> if (m_pTouchedCell){
p>
p> CCPoint touchLocation = pTouch->getLocation(); // Get the touch position
p> touchLocation = m_pParent->convertToNodeSpace(touchLocation);
p>
p> CCRect bb = this->boundingBox();
p> //bb.origin = m_pParent->convertToWorldSpace(bb.origin);
p>
p> if (bb.containsPoint(touchLocation) && m_pTableViewDelegate != NULL)
p> {
p> m_pTableViewDelegate->tableCellUnhighlight(this, m_pTouchedCell);
p> m_pTableViewDelegate->tableCellTouched(this, m_pTouchedCell);
p> }
p>
p> m_pTouchedCell = NULL;
p> }
p>
p> CCScrollView::ccTouchEnded(pTouch, pEvent);
p>}
p>
p>
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>