遇到這個問題也是醉了,看以半天也沒有結局最后發現是配置問題
,真是暈倒。
問題是這樣的,不描述了直接上圖:

創建了這樣的一個菜單,下面紅色的框框是我截圖的時候畫上去的,代碼如下:
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
如果這樣的配置,我們需要保持是一直的,這樣點擊下去菜單才不會向下面偏。
新聞熱點
疑難解答