您的位置:首页 > 其它

地图滚动及场景跳转的封转

2014-04-07 17:54 169 查看
void mapPass(cocos2d::CCSprite* sprite ,cocos2d::CCScene* scene,cocos2d::CCTMXTiledMap* mapFar,cocos2d::CCTMXTiledMap* map ,float dt);


void IntFLayer::mapPass(cocos2d::CCSprite* sprite ,cocos2d::CCScene* scene,cocos2d::CCTMXTiledMap* mapFar,cocos2d::CCTMXTiledMap* map,float dt)
{
	CCSize winSize =CCDirector::sharedDirector()->getWinSize();
	CCPoint jsPoint2 =sprite->getPosition();
	if(jsPoint2.x>winSize.width/2)
	{
		int x =winSize.width/2-jsPoint2.x ;
		this->setPosition(ccp(x,0));

		mapFar->setPosition(ccp(x/14,0));

		if(this->getPosition().x<-((map->getTileSize().width*map->getMapSize().width )-winSize.width))
		{
			this->setPosition(ccp(-((map->getTileSize().width*map->getMapSize().width) -winSize.width),0));
		}
		if(this->getPosition().x==-((map->getTileSize().width*map->getMapSize().width )-winSize.width))
		{
			CCScene* _roseLdzWorld2 =scene;
			CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(2.0f,_roseLdzWorld2));
			(this->getParent())->unscheduleUpdate();
		}
	}
}


this->_cmsLayer->mapPass(this->_cmsLayer->_catJ,RoseLdzTwo::create(),this->_mapFar,this->_cmsLayer->_myMap,dt);//监听地图滚动


封装过程注意避免出现this->getParent();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: