地图的使用(碰撞检测)

地图的使⽤(碰撞检测)
⽅法:
添加⼀个普通的层(该层主要⽤来检测碰撞)floor,设置图块的属性(在需要让精灵不穿过的地⽅添加上该图块),属性的键Collision  值true。
⽤来将x,y坐标转换为地图⽹格坐标
tileCoordForPosition(CCPoint position)
{
38gggint x=position.x/m_tileMap->getTileSize().width;
int y=(m_tileMap->getMapSize().height*m_tileMap->getTileSize().height-position.y)/m_tileMap->getTileSize().height;
return ccp(x,y);
}
在设置精灵位置前进⾏判断
setSpritePosition(CCPoint pos)
{
CCTMXLayer * floor=m_tileMap->layerNamed("floor");//获得碰撞图层
CCPoint tileCoord=this->tileCoordForPosition(pos);
int tileGid=floor->tileGIDAt(tileCoord);
if(tileGid!=0)
{
CCDictionary * properties =m_tileMap->propertiesForGID(tileGid);
if(properties!=NULL)
抛光毛刷{
CCString collision="";
CCString temp;
if(properties->valueForKey("Collision")->length()>0)
{
collision=properties->valueForKey("Collision")->getCString();
}
if(collision.length()>0&&collision.m_sString=="true")
{
return;
}
}皮带架
打孔文件夹
}
声阻抗率sprite->setPosition(pos);
手压式旋转拖把}

本文发布于:2024-09-24 04:23:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/205187.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设置   精灵   碰撞   属性
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议