TiledMap使用问题

刚开始学弄这个,遇到几个问题:
1、我准备了一张480320的图片作为新的图块,同时地图的大小也为480320 ,但是将图块全选贴在地图上时,没有填满地图块,就像这样

2、一张地图的宽度比游戏窗口宽,然后加到游戏场景中变形了,就行这样:


3、这是我用于地图滚动的代码:
void Scene_Map::MapRoll(GameHero_xq *gameHero, CCTMXTiledMap *sceneMap, float dt)
{
CCSize s = CCDirector::sharedDirector()->getWinSize();

if(gameHero->getPositionX()>s.width/2)
{
    int x =s.width/2 - gameHero->getPositionX();
    this->setPositionX(x);
    sceneMap->layerNamed("floor")->setPositionX(x);
    sceneMap->layerNamed("tree")->setPositionX(x/7);
    sceneMap->layerNamed("sky")->setPositionX(x/14);
    if(this->getPositionX()< s.width - sceneMap->layerNamed("floor")->getContentSize().width)
    {
        CCLog("Map stop Roll");
        this->setPositionX(s.width - sceneMap->layerNamed("floor")->getContentSize().width);
    }
}

}

但到了结尾是这样的:

4、关于游戏适应屏幕的,有没有比较好的教程推荐;

求解惑;