美文网首页让前端飞Egret开放平台
egret轻触屏幕调整显示对象位置

egret轻触屏幕调整显示对象位置

作者: IrisLong | 来源:发表于2019-04-01 17:49 被阅读0次
效果示意图 -- 需求: 圆圈跟随光标移动
逻辑(超简单,但很容易踩坑)
  1. 画一个圆
    private draw() {
        var drawCir:egret.Shape = new egret.Shape();
        drawCir.graphics.beginFill(0xfff000);
        drawCir.graphics.drawCircle(0, 0, 50);
        drawCir.x = drawCir.y = 100;
        drawCir.graphics.endFill();
        this.addChild(drawCir);
    }

1)为什么不直接将第三四行代码整合成一行? 形如: drawCir.graphics.drawCircle(100, 100, 50);
  答: 如果圆,初始圆心的x,y轴坐标固定为100,那么后面鼠标点击舞台的时候,圆心没办法刚好是鼠标点击的位置,会增加额外计算量.

  1. 给舞台添加鼠标点击事件
            this.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (e: egret.TouchEvent) => {
                drawCir.x = e.localX;
                drawCir.y = e.localY;
            }, this);

1)直接这么写,会导致黄色圆圈以外的区域,点击效果失效,为什么?
  答: 跟代码加载速度有关,监听事件会发生在将绘制的圆圈添加到舞台之前.
  解决方法: 给舞台监听事件添加一个计时器,延缓其加载速度,确保监听事件发生在将绘制的圆圈添加到舞台之后.
修改后的代码如下

        egret.setTimeout(() => {
            this.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (e: egret.TouchEvent) => {
                drawCir.x = e.localX;
                drawCir.y = e.localY;
            }, this);
        }, this, 500);
  • 本案例中的显示对象,可以是如上自己绘制的图形,也可以是加载的图像资源等

相关文章

  • egret轻触屏幕调整显示对象位置

    逻辑(超简单,但很容易踩坑) 画一个圆 1)为什么不直接将第三四行代码整合成一行? 形如: drawCir.gra...

  • egret 位图缓存

    egret文档里解释如下 通过缓存指定的显示对象来提高 Egret 的性能。让显示结果不常发生改变的显示对象变成一...

  • Egret显示对象与显示容器

    显示对象 1. 基本概念 在Egret中,视觉图形都是由显示对象和显示对象容器组成的。 显示对象,是可以在舞台上显...

  • egret-显示对象和显示容器

    DisplayObject:显示对象基类,所有显示对象都继承此类 当前对象 addEventListener t...

  • egret学习(1)

    仅记录自学egret过程,希望能帮助他人 先记录几个常用的事件及基本概念 “显示对象”,是可以在舞台上显示的对象。...

  • Toast调整显示位置

    背景: Toast默认显示在界面底部,因这位置在部分界面会遮挡界面元素,故需要调整位置。 解决方案: 1.显示在顶...

  • iOS 卡顿优化

    卡顿原因分析: 1.屏幕显示图像的原理: CPU:负责对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版...

  • AutoLaytou相关记录

    简要 通过Masonry设置约束后,无法再通过Frame对其调整位置。因为在真正布局显示到屏幕时,系统会根据约束从...

  • 离屏渲染和CPU、GPU优化

    屏幕显示图像的原理 CPU(中央处理器) 对象的创建和销毁,对象属性的调整、布局计算、文本的计算和排版、图片格式转...

  • UIView 创建 特殊属性 层级管理

    1 创建UIView对象 UIView是iOS中的视图对象显示在屏幕上的所有对象的基础类所有显示在屏幕上的类都继承...

网友评论

    本文标题:egret轻触屏幕调整显示对象位置

    本文链接:https://www.haomeiwen.com/subject/cmpqbqtx.html