cocos2dx & cocostudio 控制元件構想
我一直在考慮理想化的控制元件設計應該是什麼樣的,簡單易用,符合開發習慣,並且容易維護和擴充套件。
Button,以最常用的關閉按鈕舉例,在編輯器中,將Button的外觀設好後,拖入到任意Layer或對話方塊,執行後,點選Button,都能退出Button所在的視窗。
完成這樣的設計,Button不能關心要關閉的目標視窗,也就是目標視窗對它是透明的,它在被點選時,只需傳送一個關閉事件CloseEvent,由父視窗實現關閉動作。Counter, 顯示數字的控制元件,例如金幣數,角色等級等。它不需處理使用者操作,程式在執行中會動態修改它的數值。我對Counter的理想就是,在程式的任何一個類或元件中,如果金幣數(舉例)發生變化,只需發出一個通知訊息告訴角色持有的金幣改變了,而不用關心顯示金幣的控制元件是誰,有幾處顯示等等。
完成這樣的設計,程式在金幣數改變時,發出一個廣播事件,形如:CoinChangedEvent,關心此事件的Counter更改其顯示數值。ListView (或GridView, TableView) 這個比Button和Counter複雜,它的定義是每個ListView包含多個條目(ListItem),條目可以動態新增,數量不確定。每一個ListItem相當於資料庫表中的一條記錄,每一ListItem又包含多個單元(ListCell), 相當於每條記錄的欄位。單元中一般會放置Label,Image或按鈕。當單元中新增button後,點選button需要程式處理,程式需要知道該button在哪個單元中。每個ListItem可以關聯應用資料,如關聯到資料庫表中的一條記錄。
相關文章
- Cocos2dx之使用UI庫結合cocostudioUI
- Cocos2dx 3.0rc 的Win32工程新增CocoStudio庫Win32
- 關於CAD夢想控制元件介面控制控制元件
- #Cocos2dx手遊開發#11重構Lua端UserDefault類
- 夢想CAD控制元件 2021.09.05更新控制元件
- 基於REST與Web架構的構想RESTWeb架構
- cocos2dx之CCSpriteFrameCache
- 分享自己的bookmark(專案構想)
- Android 控制元件架構與自定義控制元件詳解Android控制元件架構
- 自動註冊gmail郵箱構想AI
- Microsoft + Perforce:遊戲製作的全新構想ROS遊戲
- ITS-CMS 2.0 URL設計構想
- 夢想Android版CAD控制元件2021.09.04更新Android控制元件
- 中國資訊保安體系機構基本框架與構想(轉)框架
- cocos2dx原始碼:相框PhotoFrame原始碼
- cocos2dx 實用小技巧
- JAVAEE專案結構以及併發隨想Java
- 物流運輸系統建設初步構想
- WPF控制元件結構與Content理解控制元件
- CoCos2dx開發:中文亂碼
- cocos2dx 場景切換特效特效
- cocos2dx原始碼:popup實現原始碼
- ubuntu cocos2dx eclipse環境UbuntuEclipse
- Quick cocos2dx學習筆記UI筆記
- Rust 中"上下文"設計構想 - Tyler MandryRust
- 資料中心安全管理的創新構想
- 不用編譯的jsx與react框架構想編譯JSReact框架架構
- 想學設計模式、想搞架構設計,先學學UML系統建模吧您設計模式架構
- 夢想CAD控制元件網頁開發--圖形資料庫(文字樣式)控制元件網頁資料庫
- cocos2dx之儲存截圖圖片
- Cocos2dx中精靈(CCSprite)、動畫建立動畫
- Cocos2dx之C++基礎(四)C++
- 畢業設計 java cocos2dx JavaEEJava
- Cocos2dx之http網路請求HTTP
- Cocos2dx實現象棋之佈局
- Episerver:重新構想電子商務2020Server
- netty應用架構的一些設想Netty應用架構
- 自定義控制元件(一) Activity的構成(PhoneWindow、DecorView)控制元件View