这是我偶然发现的,我用cocos2d-x 3.4 + Cocos code IDE 1.2新建立了一个lua项目,横屏,分辨率是800*480,一行代码没改,官方给的默认例子是一个昆虫向洞穴爬的游戏,界面如下图
然后我看了一下这张背景图,MainSceneBg.jpg,分辨率大小为1136640,我把这张图复制了一份,编辑了大小,保持比例不变,分辨率为800449。然后进入了游戏,结果就变成了下面这样
我不明白这是为啥,我反复比较过,当图片是1136640的时候,sprite也是被缩放过来配合800480的屏幕的,为啥当图片该小了后,就没法适配了。载入和显示该图片的lua代码如下
local MainScene = class(“MainScene”, cc.load(“mvc”).ViewBase)
function MainScene:onCreate()
– add background image
display.newSprite(“MainSceneBg.jpg”)
:move(display.center)
:addTo(self)
– add play button
local playButton = cc.MenuItemImage:create(“PlayButton.png”, “PlayButton.png”)
:onClicked(function()
self:getApp():enterScene(“PlayScene”)
end)
cc.Menu:create(playButton)
:move(display.cx, display.cy - 200)
:addTo(self)
end
return MainScene