
遇到这个问题也是醉了,看以半天也没有结局最后发现是配置问题,真是晕倒。
问题是这样的,不描述了直接上图:
创建了这样的一个菜单,下面红色的框框是我截图的时候画上去的,代码如下:
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,cc.ResolutionPolicy.SHOW_ALL);而且除此之外:
在config.Json中的isLandscape:""这个要设置为true
如果这样的配置,我们需要保持是一直的,这样点击下去菜单才不会向下面偏。
总结以上是内存溢出为你收集整理的COCOS2D创建菜单,按钮区域和文字显示不一致全部内容,希望文章能够帮你解决COCOS2D创建菜单,按钮区域和文字显示不一致所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)