昨天开始用最新的lite版本写了一个横屏的小游戏,
设计尺寸:1137,536
布局方式:fixed_height
测试设备:安卓和ios的部分机型
布局代码:
cc.view.adjustViewPort(true);
cc.view.setDesignResolutionSize(1136, 537, cc.ResolutionPolicy.FIXED_HEIGHT);
cc.view.resizeWithBrowserSize(true);
问题:
1.lite版本 full版本 iphone5s和iphone5c的横屏,显示时的宽度明显有问题,canvas就只有中间的一块,宽度只占屏幕的一半左右

。
2.开始觉得是版本问题,然后换成cocosjs 3.0 final版本,问题同上。
3.继续更换版本,这次改为cocosjs 3.0 rc3版本,在iphone5s和iphone5c上,横屏正常了。但是在安卓系统为4.4.3和4.4.4的手机上,界面就不能适配了,应该显示的是原始尺寸,canvas内容是原始尺寸,所以值显示了一部分,这个bug也很伤。
4.在上述这些版本,同时存在这个问题:测试代码这样写
var TestLayer = cc.Layer.extend({
ctor:function(){
this._super();
var colorlayer = cc.ColorLayer.create(cc.color(250,0,0));
colorlayer.setPosition(0,0);
this.addChild(colorlayer);
}
});
var TestScene = cc.Scene.extend({
ctor:function(){
this._super();
var testlayer = new TestLayer();
testlayer.setPosition(0,0);
this.addChild(testlayer);
}
});
测试步骤,首先竖屏进入,然后在横屏过来,可以看到这个colorlayer位置发生偏移了,不再是全屏的背景颜色了,而是贴着 了左边,感觉是colorlayer没有被缩放到屏幕大小,还是竖屏的尺寸。这个挺莫名其妙的。
总之来说,cocosjs的这些布局一方面还是有问题,另一方面提供的5个布局,其实还是没法很好的去解决大部分手机界面上的等比缩放,而且要沾满全屏这个要求。cocosjs提供的布局,要么是等比缩放会留黑边,要么就是不是等比占满全屏,这些都不很友好。真希望cocosjs能采用以前quick-x的那套display机制,起码那个比cocosjs的现有布局更实用。最基本的布局如果都不成熟,开发起来很伤,希望尽快优化下吧。
希望能有人指导下这些问题怎么解决。谢了!
