egret白鷺引擎之小簡單效果

1.實現圖片水平居中

//利用錨點方式來實現水平居中
portrait.anchorOffsetX = portrait.width/2;
portrait.$anchorOffsetY = portrait.height/2;
portrait.x = stageW/2;
portrait.y = portrait.height/2;

2.讓方形圖片變成圓形圖片

//設置遮罩
var circle: egret.Shape = new egret.Shape();
//繪製圓形
circle.graphics.beginFill(0xff0000);
circle.graphics.drawCircle(stageW/2,portrait.height/2,portrait.width/2);
circle.graphics.endFill();
this.addChild(circle);
//設置圓形遮罩,讓方形變成圓形圖片
portrait.mask = circle;

3.兩個物體之間的隨機距離

// 設置出現的隨機位置
let distance = this.minDistance + Math.random() * (this.maxDistance - this.minDistance);

4.各種效果

https://www.cnblogs.com/shirln/category/1243128.html

5.對象顯示在其他對象的上方並跟隨手指移動

        //可以在createGameScene中顯示效果        
        //要拖拽的對象
        var draggedObject:egret.Shape;
        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);

        //畫一個藍色的正方形
        var square:egret.Shape = new egret.Shape();
        square.graphics.beginFill(0x0000ff);
        square.graphics.drawRect(0,0,100,100);
        square.graphics.endFill();
        this.addChild(square);

        //增加圓形的觸摸監聽
        circle.touchEnabled = true;
        circle.addEventListener(egret.TouchEvent.TOUCH_BEGIN,startMove,this);
        circle.addEventListener(egret.TouchEvent.TOUCH_END,stopMove,this);

        //增加正方形的觸摸監聽
        square.addEventListener(egret.TouchEvent.TOUCH_BEGIN,startMove,this);
        square.addEventListener(egret.TouchEvent.TOUCH_END,stopMove,this);

        function startMove(e:egret.TouchEvent):void{
            //把手指按到的對象記錄下來
            draggedObject = e.currentTarget;
            //計算手指和要拖動的對象的距離
            offsetX = e.stageX - draggedObject.x;
            offsetY = e.stageY - draggedObject.y;
            //把觸摸的對象放在顯示列表的頂層
            this.addChild(draggedObject);
            //手指在屏幕上移動,會觸發 onMove 方法
            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{
            //通過計算手指在屏幕上的位置,計算當前對象的座標,達到跟隨手指移動的效果
            draggedObject.x = e.stageX - offsetX;
            draggedObject.y = e.stageY - offsetY;
        }

6.在eui中將按鈕的錨點設置成中心

錨點的中心點就是寬高的一半

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章