zoukankan      html  css  js  c++  java
  • egret基础——控件

    Egret引擎使用的开发语言TS:

    在ts中
    function add(name:string....):void{}

    可以改为这样声明:

    var add = (name:string...):void=>{},

    this() 只能在非无参的数构造方法中使用,意思是调用 无参的构造方法。


    1、表示对当前对象的引用!

    public class A{
      public A getA(){
      return this;//表示获取当前实例本身
      }
    }

    2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!

    public class A{
        private int a = 0;//位置1
    
        public A getA(int a){
            //前面this.a表示 位置1 的a,赋值=号右侧的表示参数a    
            this.a = a;   
        }
    }



    egret 矢量绘图(多边形 -- 直线 -- 多条线段 -- 曲线)

    1. 文本设制:普通文本--文本内容可以设置
    2. 输入文本--输入框或者聊天框
    3. 位图文本--添加特殊字体设置
    4. 文本操作:创建文本 文本颜色 文本字体 文本样式
    var label:egret.TextField = new egret.TextField();
    lable.text = "这是个文本"
    lable.width=""
    lable.heigth=""
    lable.textColor=""
    lable. fontFamily= ""
    //布局
    lable.textAlign = egret.HorizontalAlign.RIGHT(上右下左);
    //设置文字的粗体和斜体
    lable.bold = true;
    lable.italic = true;
    
    this.addChild(lable);

    egret动画:


    1.Tween缓动动画(界面弹出。道具飞出及特效)
    var tw = egret.Tween.get(shp);--shp是设置的小方块
    tw.to({x:300,y:100},1000);xy 定义xy坐标的移动位置,1000是移动的时间

    2.MovieClip序列帧动画(简称mc 播放序列帧动画--如GIF图 如实现跑动的动作 将动画制作成egret识别的动画格式)

    egret计时器:Timer

        2个属性

        delay --每隔多长时间执行一次
        repeatCount --执行的次数(如果次数为0,则表示不停的执行)。

        3个方法

        atart -- 开始
        reset --重新计时
        stop --暂停

        2个事件

    public constructor()
    {
        super();
        TimerEvent.TIMER --计时过程中触发
        TimerEvent.TIMER_COMPLETE --计时结束后触发
    
        //创建一个计时器对象
        var timer:egret.Timer = new egret.Timer(500,5);--2个属性
        //注册事件侦听器
                timer.addEventListener(egret.TimerEvent.TIMER,this.timerFunc,this);
        timer.addEventListener(egret.TimerEvent.TIMER_COMPLETE,this.timerComFunc,this);
        //开始计时
        timer.start();
        //重新计时
        timer.reset();
        //暂停计时
        timer.stop();
        }
        private timerFunc()
        {
        console.log("计时");
        }
        private timerComFunc()
        {
        console.log("计时结束");
    }                

    创建位图

    private onAddToAtage(event:egret.Event){
        //资源的加载
       RES.addEventlistener(RES.ResourceRvent.GROUP_COMPLETE,this.addimage,this);
        //找到当前的资源目录
       RES.loadConfig("resource/resource.json","resource/");
        //组的方式加载资源
       RES,loadGroup("组的name")
    }
    private addImage(){
        var img1:egret.Bitmap = new egret.Bitmap();
        img1.texture = RES.getRes("AAA");
        this.addChild(img1);
    }    

    --资源加载

    • 1,资源加载模块
    • 2,资源加载模块配置
    • 3,初始化资源加载模块
    • 4,预加载资源组
    • 5,获取资源

    3种方式:

    • getRes();
    • getRseAsync();--异步,
    • getResByUrl();--网络


    九宫格的使用

    var img:egret.Bitmap = new egret.Bitmap();
    img.texture = RES.getRes("xxx");
    var rect:egret.Rectangle = new egret.Rectangle(30,31,40,41)
    img.scale9Grid = rect;
    img.width *=2;
    img.y = 300;
    this.addChild(img);

    --纹理的填充方式:

    var img:egret.Bitmap = new egret.Bitmap();
    img.texture = RES.getRes("yaotou");
    img.fillMode = egret.BitmapFillMode.REPEAT;
    img.width *=2;
    img.heighe *=3;
    this.addChild(img);

    纹理集的使用:

    图片放在一张图片上

    加载音频资源播放音频

    山重水复疑无路,柳暗花明又一村! 专注填坑,少走弯路!
  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/mqflive81/p/11074024.html
Copyright © 2011-2022 走看看