1. 程式人生 > >Cocos2d-x3.0 載入Cocostudio的UI後,button無法點擊的解決方法

Cocos2d-x3.0 載入Cocostudio的UI後,button無法點擊的解決方法

archive nor tar console 大小 接下來 variant set http

近期發現不少朋友都遇到這個問題,用Cocostudio的UI編輯器創建好UI後。在代碼中載入UI,然後給button(Button)加入點擊監聽事件。發現不管怎樣都點擊不了button,沒有不論什麽反應。

或者,往button的以下一些位置點擊,卻發現button被點擊了,點擊坐標的位置明顯和button的位置有偏差。

笨木頭花心貢獻,啥?花心?不呢。是用心~

轉載請註明,原文地址: http://www.benmutou.com/blog/archives/1027

文章來源:笨木頭與遊戲開發

假設你也遇到這種問題。最好還是進行一個簡單的操作。

打開AppDelegate.cpp類。在AppDelegate::applicationDidFinishLaunching函數裏,當中一段代碼:

  1. auto director = Director::getInstance();
  2. auto glview = director->getOpenGLView();
  3. if(!glview) {
  4. glview = GLView::create("My Game");
  5. glview->setFrameSize(800,1280);
  6. director->setOpenGLView(glview);
  7. }

看看這句代碼:glview->setFrameSize(800,1280); 或許你的代碼裏沒有這句,不管有沒有,接下來要做的都一樣。

把這句代碼改為(沒有這句代碼的就加上):glview->setFrameSize(600,400);

裏面的數字大小你自己定,可是要註意。不要超過你的電腦顯示器分辨率的大小。

一旦遊戲窗體寬高大於你的顯示器分辨率,就會出現UIbutton無法點擊或者點擊錯位的現象。

不信的話。大家能夠試試把遊戲窗體的高設成一個非常大的值(大於你的顯示器分辨率的高),比方:glview->setFrameSize(800,4280);

然後執行遊戲,你會發現。遊戲窗體的高並沒有想象中的高,它變得和你的顯示器的一樣的高。

或許這是Cocos2d-x3.0之後特意這麽做的,為的是避免你設置的寬高太大而無法完整顯示遊戲窗體,卻導致UIbutton點擊坐標錯位的問題。

這個僅僅是在Windows平臺上的問題而已,無關緊要,僅僅是會影響測試。所以。最好不要把遊戲窗體的寬高設置地超過你的顯示器分辨率。

Cocos2d-x3.0 載入Cocostudio的UI後,button無法點擊的解決方法