新人自学cocos2d-x遇到了一些困难,求助!

这个帖子里关于地图滚动的原理我看懂了,但是下面这个判断和算法我看得不太懂,请大佬们指点一下

http://blog.csdn.net/evankaka/article/details/43972397


//移動并判斷背景
void BackLayerDown::update(float time)
{
Size visibleSize = Director::getInstance()->getVisibleSize();
Point origin = Director::getInstance()->getVisibleOrigin();

Sprite* temMap1 = (Sprite*)this->getChildByTag(MAP_1_Tag);  
Sprite* temMap2 = (Sprite*)this->getChildByTag(MAP_2_Tag);  

temMap1->setPositionY(temMap1->getPositionY() - 1);  
temMap2->setPositionY(temMap2->getPositionY() - 1);  

if (temMap1->getPositionY() + temMap1->getContentSize().height / 2 <= origin.y)  
{  
    float offset = temMap1->getPositionY() + temMap1->getContentSize().height / 2 - origin.y;  
    temMap1->setPosition(Vec2(visibleSize.width / 2 + origin.x, temMap1->getContentSize().height / 2 + origin.y + visibleSize.height + offset));  
}  

if (temMap2->getPositionY() + temMap2->getContentSize().height / 2 <= origin.x)  
{  
    float offset = temMap2->getPositionY() + temMap2->getContentSize().height / 2 - origin.y;  
    temMap2->setPosition(Vec2(visibleSize.width / 2 + origin.x, temMap2->getContentSize().height / 2 + origin.y + visibleSize.height + offset));  
}  

}
请大佬们详细讲一下这个origin.y,getContentSize().height / 2是啥,最好画张图我看下0.0
跪求啊

就是temMap1的尺寸的一半