egretGUI和egretWing是我看到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 文件

更多相关文章
  • 我们通常在做H5 APP设计的过程中,遇到很多看似很小,且很容易被忽略的问题,正是这些小问题,一次次的撩拨用户的耐心,让用户对你的APP心生怨念.现在WeX5君呕血为大家整理出H5 APP设计的21条禁忌,希望与H5 APP设计者的您共勉.1. 不要在没有流程图之就前开始设计或者画线框图即便一个简单 ...
  •     最近在项目开发中用webview去显示加载h5内容,而h5内容中有一些图片,并且可以点击放大看图.在比较变态的测试方法(放大,关闭当前界面,再进入,再放大,大概10次左右)后,会导致图片点击没反映了(其实就是webview内存泄漏了).错误信息如下:12-02 10:46:19.824: E ...
  • 参考:http://developer.51cto.com/art/201509/491694_all.htm其实经过几次H5页面测试之后,发现存在很多共同的问题,所以在此对H5页面的测试点(以及容易出问题的点),做一个总结,给开发同学自测,以及准备入手H5测试的同学一个参考.1.业务逻辑相关除基本 ...
  • 利用简洁的图片预加载组件提升h5移动页面的用户体验
    在做h5移动页面,相信大家一定碰到过页面已经打开,但是里面的图片还未加载出来的情况,这种问题虽然不影响页面的功能,但是不利于用户体验.抛开网速的原因,解决这个问题有多方面的思路:最基本的,要从http请求合并,缓存管理,图片压缩等方面做性能优化:另外就是可以对页面里用到的所有图片做预加载的处理,当用 ...
  • 移动端H5页面高清多屏适配方案
    背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)首先,选取一款手机的屏幕宽高作为基准(以前是iPhone4的320×480 ...
  • 这2年来,移动h5开发逐渐成为一种主流,也不断趋向于成熟.硬件和浏览器的不断更新,曾经的浏览器兼容也不再是开发者的噩梦. 接触h5开发一年多,从最初的新手到现在,陆陆续续遇到过很多坑.这里把想到的一些经验与资源罗列出来,给刚入h5的同学带来一些帮助.该文章会持续更新. 内容比较多,可以点击下方『悬浮 ...
  • h5端呼起摄像头扫描二维码并解析
    引子: 最近公司项目有个需求,微博客户端中, h5 的页面上的某个按钮能够与native 交互呼起摄像头,扫描二维码并且解析.在非微博客户端中(微信或者是原生浏览器,如:safari)呼起系统的拍照或者上传图片按钮,通过拍照或者上传图片解析二维码. 第二种方案需要在前端 js 解析二维码.这样依赖一 ...
  • h5嵌入视频遇到的bug及总结
        最近做的一个h5活动因为嵌入视频而发现了好多以前从未发现的问题,在测试的时候不同系统不同版本不同环境等多多少少都出现了些问题,搞得我也是焦头烂额的,不过好在最终问题都解决了,自己也学到了好多东西,为了方便以后用到参考,所以就记下来咯.现在有一个感悟就是当问题来临的时候不要觉得沮丧不要抱怨而要 ...
一周排行