91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【Cocos2dx工具】Cocostudio界面編輯器二

發布時間:2020-07-12 05:45:31 來源:網絡 閱讀:910 作者:龍顏碩 欄目:開發技術

Cocos2dx工具】Cocostudio界面編輯器

寫在前面——

   如果轉載請注明出處,謝謝大家支持

   同步更新51CTO博客

——Forward

我的微博——龍顏碩

在《【Cocos2dx工具——Cocostudio界面編輯器】一》博客結束的時候,Forward提出兩個問題——1、有了編輯好的UI界面之后,我們如何把它們加載到程序中去呢?2、如何使對應的控件具有對應的功能呢?

帶著上面這兩個問題,我們開始今天的博客之旅——《【Cocos2dx工具——Cocostudio界面編輯器】二》

一、UI界面的加載

OK,在上一篇博客結束的時候,我們已經用編輯器完成了一個自己的UI,如下圖所示:

【Cocos2dx工具】Cocostudio界面編輯器二

1

首先我們創建一個新的工程——UIEditorDemo

從上一節的說明中我們看到,通過Cocostudio的界面編輯器編輯導出我們得出了一個如下圖所示的文件結構:

【Cocos2dx工具】Cocostudio界面編輯器二

2

好的,下面我們需要的正式這個些資源,將他們拷貝到資源目錄下。

問題來了,有了這些資源與UI界面文件,難道要我們自己去實現解析、UI層級管理、事件響應實現?Cocostudio開發者怎么會這樣對我們呢(^_^)?他們已經為我們完成了上述提到問題的解決方案,在Cocostudio官網上,可以找到對應代碼下載(CocoGUILIB.zip)

將對應該的UI層級相關的代碼導入我們上面創建的UIEditorDemo工程中,(并按照編譯報告添加對應的頭文件路徑即可)

完成上面的工作之后,在我們的源文件中添加如下代碼:

                  COCOUISYSTEM->resetSystem(this);

                  COCOUISYSTEM->replaceUISceneWithFile(this, "NewProject.json", 1, true, true,true);

包含對應頭文件即可。

下面就是見證奇跡的時刻——

【Cocos2dx工具】Cocostudio界面編輯器二

3

運行程序,我們看到如上圖3的運行結果,這不就是我們前天編輯的UI界面嗎。不錯,加載就是這么簡單。

二、UI事件的響應:

加載出我們編輯好的UI界面只是第一步,一個不能響應事件的界面是毫無意義的,接下來我們就需要知道如何讓這個界面能夠響應我們的操作,來完成玩家的交互。

好的,我們這就進入主題

首先我們需要理解UI層面控件的操作流程——只需要獲取UI層面這個控件,給它綁定一個事件的回調,然后在回調函數中實現我們的功能即可

這里我們拿ImageView的點擊放大與還原效果來做一次演示,其他類似。

操作ImageView(上面的頭像就是使用了ImageView)很簡單,代碼如下:

          cs::CocoImageView* p_w_picpathView = (cs::CocoImageView*) (COCOUISYSTEM->getWidgetByName("ImageView_Header"));

          p_w_picpathView->addPushDownEvent(this, coco_pushselector(HelloWorld::ScaleTo2Size));

          p_w_picpathView->addReleaseEvent(this, coco_releaseselector(HelloWorld::ScaleResume));

好的,現在我們就需要再添加兩個函數ScaleTo2SizeScaleResume即可,然后這兩個函數中分別對這個控件做擴大和還原處理——

voidHelloWorld::ScaleTo2Size(CCObject* pSender)

{

     cs::CocoImageView* p_w_picpathView = (cs::CocoImageView*) (COCOUISYSTEM->getWidgetByName("ImageView_Header"));

     p_w_picpathView->setScale(2.0f);

}

voidHelloWorld::ScaleResume(CCObject* pSender)

{

     cs::CocoImageView* p_w_picpathView = (cs::CocoImageView*) (COCOUISYSTEM->getWidgetByName("ImageView_Header"));

     p_w_picpathView->setScale(1.0f);

}

如上所示,頭像控件的名稱Forward已經在UI編輯器中修改為“ImageView_Header”,否會找不到的。

看看效果吧~~

原始頭像大小如下:

【Cocos2dx工具】Cocostudio界面編輯器二

4

【Cocos2dx工具】Cocostudio界面編輯器二

5

確實按照我們的預期進行了……

在這篇博客中,我們已經解決了在《【Cocos2dx工具——Cocostudio界面編輯器】一》博客末尾提出的兩個問題。至此我么可以說是已經做到了“知其然”,但是到底整個CocoGUILIB是如何工作的呢?從文件解析到控件創建,其中的Touch事件又是如何接收與處理呢?CocoGUILIB的結構是什么樣子呢?我們現在只是管中窺豹,見其一角,未盡全貌,要是解決了以上提及的問題,或許才可以說“知其所以然”。

對于以上問題,Forward會在《【Cocos2dx工具——Cocostudio界面編輯器】三》中做進一步深入學習與分享~~


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 故城县| 通许县| 长兴县| 贵德县| 保亭| 湄潭县| 延吉市| 临湘市| 济阳县| 宝应县| 宝坻区| 祁阳县| 修水县| 博野县| 兴义市| 扬中市| 那曲县| 长春市| 荣成市| 贡觉县| 满洲里市| 乌苏市| 益阳市| 岳普湖县| 集安市| 齐齐哈尔市| 乐清市| 绍兴市| 聂荣县| 丹凤县| 安塞县| 洪雅县| 阳朔县| 禹城市| 呼玛县| 微博| 长沙县| 治县。| 奉新县| 航空|