egret GUI 和 egret Wing 是我看到h5 最渣的设计
一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架。也不学学MornUI,好歹有点自己想法。
先来个最小可用集合吧:
1. egret create legogame --type gui。生成一个带gui的项目。
2. 用webstorm打开这个傻逼项目。
3. 修改theme.thm:
{ "skins": { "egret.gui.Button":"skins.simple.ButtonSkin" } }
4. 修改resource.json
{ "groups":[ { "keys":"button_disabled_png,button_down_png,button_normal_png,bgImage", "name":"preload" }], "resources":[ { "name":"button_disabled_png", "scale9grid":"3,4,14,13", "type":"image", "url":"assets/simple/NormalButton/button_disabled.png" }, { "name":"button_down_png", "scale9grid":"4,3,13,14", "type":"image", "url":"assets/simple/NormalButton/button_down.png" }, { "name":"button_normal_png", "scale9grid":"4,3,13,15", "type":"image", "url":"assets/simple/NormalButton/button_normal.png" }, { "name":"bgImage", "type":"image", "url":"assets/bg.jpg" } ] }
5. 进入resource/assets/simple目录,保留NormalButton,其他删掉。进入src/skins/simple/ 除了buttonskin.exml,其他删掉。
6. 进入ShowcaseSkin.exml, 删除List,得到:
<?xml version='1.0' encoding='utf-8'?> <e:Skin width="480" height="800" xmlns:e="http://ns.egret-labs.org/egret" xmlns:w="http://ns.egret-labs.org/wing"> <w:HostComponent name="egret.gui.SkinnableComponent"/> <w:Declarations/> <e:states> <e:State name="normal"/> <e:State name="disabled"/>a </e:states> <e:Button id="btnShowMessage" label="click" y="50" horizontalCenter="0"/> </e:Skin>
7. 进入Showcase.ts,除了button,其他都删除:
class Showcase extends egret.gui.SkinnableComponent { public constructor() { super(); this.skinName = "skins.scene.ShowcaseSkin"; } public btnShowMessage:egret.gui.Button; public partAdded(partName:string, instance:any):void { super.partAdded(partName, instance); } }
8. 在legogame目录下面,运行egret build, egret startserver。得到只有一个button的结果。
这个就是最小可用集:Mininum available set。
继续研究resource.json和theme.thm是不是多余的。还有那个buttonskin.exml 文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2008-07-18 Asp.net下的Singleton模式