COCOS2D创建菜单,按钮区域和文字显示不一致

来源:互联网 发布:今知三四来求亲打一肖 编辑:程序博客网 时间:2024/06/08 10:38

遇到这个问题也是醉了,看以半天也没有结局最后发现是配置问题难过,真是晕倒。

问题是这样的,不描述了直接上图:


创建了这样的一个菜单,下面红色的框框是我截图的时候画上去的,代码如下:

var SceneTestScene = cc.Layer.extend({ctor:function () {this._super();var size = cc.director.getWinSize();/*var bg = new cc.Sprite(res.background_png);bg.x = size.width/2;bg.y = size.height/2;this.addChild(bg);*/cc.MenuItemFont.setFontName("Times New Roman");cc.MenuItemFont.setFontSize(86); var item1 = new cc.MenuItemFont("Start", this.menuItem1Callback, this);item1.attr({   x:size.width/2,   y:size.height/2,   anChorX:0.5,   anChorY:0.5});var mn = new cc.Menu(item1,1); mn.alignItemsVertically();mn.setColor(cc.color(255, 255, 0));mn.x=size.width/2;mn.y=size.height/2;this.addChild(mn);             return true;},menuItem1Callback:function (sender) {cc.log("我被点击了" + sender);}});SceneTestScene.scene = function () {var scene = new cc.Scene();var layer = new SceneTestScene();scene.addChild(layer);return scene;};
我希望点击Start文字至少是给我一点提示,结果没有任何的反应。但是点击下面红色框框内却没有任何的反应,这个多让人烦,我们在网上查看原因说什么是像素的问题。也许是和像素有点问题吧。

说是像素的问题也可以理解。

问题清楚了我们怎样来解决:

这个和我们的配置有关系:

首先要保证config.json:

    "init_cfg":{        "isLandscape":true,        "isWindowTop":false,        "name":"CanyProject",  ------>      "width":960,  ------>      "height":640,        "entry":"main.js",        "consolePort":6050,        "debugPort":5086,        "forwardConsolePort":10088,        "forwardDebugPort":10086,        "forwardUploadPort":10090    },
要保证上面的宽和高要和main.js中的:

cc.game.onStart = function(){    cc.view.adjustViewPort(true);    cc.view.setDesignResolutionSize(640, 960, cc.ResolutionPolicy.SHOW_ALL);    cc.view.resizeWithBrowserSize(true);    //load resources    cc.LoaderScene.preload(g_resources, function () {    cc.director.runScene(SceneTestScene.scene());    }, this);};
这个地方的640和960和上面的宽和高要一个个的对应
  cc.view.setDesignResolutionSize(640, 960, cc.ResolutionPolicy.SHOW_ALL);
而且除此之外:

在config.json中的isLandscape:""这个要设置为true

如果这样的配置,我们需要保持是一直的,这样点击下去菜单才不会向下面偏。





0 0
原创粉丝点击