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;

  • 相关阅读:
    hdu1238 Substrings
    CCF试题:高速公路(Targin)
    hdu 1269 迷宫城堡(Targin算法)
    hdu 1253 胜利大逃亡
    NYOJ 55 懒省事的小明
    HDU 1024 Max Sum Plus Plus
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1257 最少拦截系统
    HDU 1069 Monkey and Banana
    HDU 1104 Remainder
  • 原文地址:https://www.cnblogs.com/allyh/p/10964810.html
Copyright © 2011-2022 走看看