zoukankan      html  css  js  c++  java
  • Egret的项目笔记(一)

    1.Uncaught TypeError:Cannot set property 'text' of undefined
    K:public constructor() {
    super();
    this.skinName = "xxx/x.exml";
    this.addEventListener(eui.UIEvent.CREATION_COMPLETE,this.onComplete,this);
    //this.PasswordLabel.text = ""; //会报错1
    }
    public onComplete(){
    this.PasswordLabel.text = "";//解决

    }
    }
    2,项目有后端数据的,在修改名字或者密码等的资料的时候,一定要给服务端发送数据,解析返回数据之后才能判断是否修改完成。
    例子:
    GameUtil.bitmapToBtn(this.ensure(e) => {
    if (this.oldPassword.text == "") {
    Toast.show("请输入原始密码");
    } else if (this.newPassword.text == "") {
    Toast.show("请输入新密码");
    } else if (this.ensurePassword.text == "") {
    Toast.show("请再次确认密码");
    } else {
    if (this.oldPassword.text == this.newPassword.text) {
    Toast.show("新旧密码一样,请重新设置密码");
    } else if (this.oldPassword.text != this.pwd){
    Toast.show("请输入正确的原始密码");
    }
    else {
    if (this.newPassword.text != this.ensurePassword.text) {
    Toast.show("确认密码和新密码不完全相同,请重新输入");
    } else {
    //协议
    }
    }
    }
    })
    建议:一般服务器若是做了判断,此处只需要判断数据不为空即可
    注:if else else if 的使用
    GameUtil.bitmapToBtn(this.ensureImage, (e) => {
    if (this.oldPasswordLabel.text == "") {
    Toast.show("请输入原始密码");
    return;
    }
    if (this.newPasswordLabel.text == "") {
    Toast.show("请输入新密码");
    return;
    }
    if (this.ensurePasswordLabel.text == "") {
    Toast.show("请再次确认密码");
    return;
    }
    if(this.newPasswordLabel.text != this.ensurePasswordLabel.text){
    Toast.show("两次密码输入不同,请重新输入");
    return;
    }
    //通信协议
    });
    //解析返回数据

    3,解析返回数据:
    4,List:渲染和dataProvider、itemRenderer的顺序关系并不是很大,关键的问题在于数据arr一定要存有数据,不然会显示Object 蓝色底(未有数据)
    let arr=[];
    this.gList.dataProvider = new eui.ArrayCollection(arr);
    this.gList.itemRenderer = X类;
    5,枚举
    enum gameIndex {
    BEGIN,
    PLAY,
    ADD_SCORE,
    PAUSE,
    GO_ON,
    END
    }
    K:
    gameIndex.BEGIN 代表的是BEGIN的下标 0
    gameIndex[0] 代表的是 BEGIN
    6,关于toString()的使用
    toString方法会返回一个“以文本方式表示”此对象的字符串
    Object类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
    getClass().getName() + '@' + Integer.toHexString(hashCode())
    返回:该对象的字符串表示形式。
    注意:toString() 只适用于对象的调用,普通的数据类型不可以调用,这也就是使用包装类的原因
    JS中,将数字转换为字符串var
    var number=new Number(133);
    document.write("The number as a binary valueis:");
    document.write(number.toString(2));
    使用:(建议选2,因为1需要转换)
    this.cLabel.text = this.TotalTime.toString();
    this.cLabel.text = this.TotalTime+ "" ;
    7,按钮事件
    public mybutton:eui.Button;
    public onComplete():void{
    this.mybutton.addEventListener(egret.TouchEvent.TOUCH_TAP,(e:egret.TouchEvent) =>{
    alert("aaaa");
    },this);
    }
    8,this.sLabel.text = state == 0 ? "base" : state == 1 ? "begin" : "playing";
    表达式:“()? :”。
    ()中进行二元运算
    ?在运算,就形成三元运算符
    9,关掉Scroller滑动时候的滚动条:
    在scroller下删掉Group,加入一个list容器,之后可以进行设置
    this.scoroller.horizontalScrollBar.autoVisibility = false;//隐藏进度条
    10,设置exml的按钮上的字体大小
    (<eui.Label>this.vBtn.labelDisplay).size = 16;

    11,更换背景图片资源

    public bg: eui.Image;

    let strUrl: string = "name_png";
    this.bg.source = RES.getRes(strUrl);

    12,字符串重组

    let str:string = ""
    //去除最后一位
    str = str.substring(0, str.length - 1);
    this.sLabel.text = str;

  • 相关阅读:
    IIS部署web Service使用浏览器测试
    VS编译运行时提示:应用程序并行配置不正确,无法启动程序
    VS编译失败但是错误输出页中没有显示任何错误信息
    在客户端机器上使用PlSql,登录dba账号提示ORA-01031:insufficient privileges或 ORA-01017: invalid username/password; logon denied错误。
    FTP搭建注意事项
    .Net DLL类库引用时没有注释信息
    Oracle数据库连接超时
    Oracle触发器编译错误及解决方案
    VMware命令行模式安装CentOS 7后设置固定IP
    洲-国家 二级联动整体解决方案
  • 原文地址:https://www.cnblogs.com/allyh/p/10964810.html
Copyright © 2011-2022 走看看