• 白鹭引擎


    class Main extends egret.DisplayObjectContainer {
    
        /**
         * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super )
         * constructor 是类的构造函数, 类在实例化的时候调用
         * egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度
         */
        public constructor() {
            super();
            this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
        }
    
        /**
         * 手机屏幕的四大接触事件
         * egret.TouchEvent.TOUCH_TAP   点击事件
         * egret.TouchEvent.TOUCH_BEGIN 手指开始点击时
         * egret.TouchEvent.TOUCH_MOVE  手指在屏幕移动时
         * egret.TouchEvent.TOUCH_END   手指离开时
         */
        private onAddToStage(event: egret.Event) {
    
            // 设定2个偏移量
            var offsetX: number;
            var offsetY: number;
    
            // 画一个红色的圆
            var circle: egret.Shape = new egret.Shape();
            circle.graphics.beginFill(0xff0000);
            circle.graphics.drawCircle(25, 25, 25);
            circle.graphics.endFill();
            this.addChild(circle);
        
         // 如果要给显示对象添加事件, 一定要将事件能力属性设置为 true
         circle.touchEnabled = true;
    
            // 手指按到屏幕,触发 startMove 方法 
            circle.addEventListener(egret.TouchEvent.TOUCH_BEGIN, startMove, this);
    
            //手指离开屏幕,触发 stopMove 方法
            circle.addEventListener(egret.TouchEvent.TOUCH_END, stopMove, this);
    
            //计算手指和圆形的距离, 当手指在屏幕上移动时触发 onMove 方法
            function startMove(e: egret.TouchEvent): void {
                offsetX = e.stageX - circle.x;
                offsetY = e.stageY - circle.y;
                this.stage.addEventListener(egret.TouchEvent.TOUCH_MOVE, onMove, this);
            }
        
            //手指离开屏幕,移除手指移动的监听
            function stopMove(e: egret.TouchEvent) {  
           this.stage.removeEventListener(egret.TouchEvent.TOUCH_MOVE, onMove, this); }    //通过计算手指在屏幕上的位置,计算当前对象的坐标,达到跟随手指移动的效果 function onMove(e: egret.TouchEvent): void { circle.x = e.stageX - offsetX; circle.y = e.stageY - offsetY; } } }
  • 相关阅读:
    Git命令缩写
    MySQL中varchar(10)和varchar(100)的优缺点
    理解Kafka的Topic、Partion
    DAN 文本分类
    股票问题系列通解(转载翻译)
    leecode每日刷题1
    leecode每日刷题3
    leecode每日刷题2
    VMware Workstation中安装kali2022 残梅殇
    kali安装中文输入法 残梅殇
  • 原文地址:https://www.cnblogs.com/lovling/p/8398769.html
Copyright © 2020-2023  润新知