反向遮罩 (新手指引 镂空 镂空区域可穿透点击)

参考:

新手引导镂空方案

使用RenderTexture创建反遮罩或橡皮擦

一、首先创建一个背景

let bg:eui.Image = new eui.Image(RES.getRes("bg_jpg"));
this.addChild(bg);

二、创建一个圆

let sp:egret.Sprite = new egret.Sprite();
sp.graphics.beginFill(0xff0000);
sp.graphics.drawCircle(100,100,100);
sp.graphics.endFill();
this.addChild(sp);

三、反向遮罩,让有圆的地方露出来

init直接照搬论坛老兄的,我这里就没有封装了,感觉这个封装有点...反正只是做测试,无所谓了

    public init(dp:egret.DisplayObject, w:number, h:number):void {
            let container:egret.DisplayObjectContainer = new egret.DisplayObjectContainer();

            let bg:egret.Shape = new egret.Shape();
            bg.graphics.beginFill(0x000000, 0.8);
            bg.graphics.drawRect(0, 0, w, h);
            bg.graphics.endFill();

            container.addChild(bg);

            container.addChild(dp);

            dp.blendMode = egret.BlendMode.ERASE;

            let renderTexture:egret.RenderTexture = new egret.RenderTexture();
            renderTexture.drawToTexture(container);

            let bitmap:egret.Bitmap = new egret.Bitmap(renderTexture);
            this.addChild(bitmap);
            bitmap.touchEnabled = true;  //允许点击
            bitmap.pixelHitTest = true;  //镂空区域不响应点击,这样可以穿透点击到下面的背景
    }

  

   this.init(sp, 500,500);

   bg.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{
       console.log("bg hit");
   },this);

这时,当我们点击黑色区域时,是不会输出"hit bg"的。

点击镂空区域时,会输出"hit bg".

这样可以用来做新手指引了额。

  

 

原文地址:https://www.cnblogs.com/gamedaybyday/p/9374959.html

时间: 2024-10-11 23:06:30

反向遮罩 (新手指引 镂空 镂空区域可穿透点击)的相关文章

开源整理:Android App新手指引开源控件

开源整理:Android App新手指引开源控件 一个App第一次与用户接触或者发生大版本更新时,常常会用户进行新手引导,而一个好的新手指引,往往能够方便新用户快速了解操作你的应用功能.新手指引的重要性,不言而喻.本文搜集整理了Github上一些效果不错的新手指引开源控件,帮助你的应用在用户面前有更好的效果展示.当然,如果你有精力,也可以自己开发维护一套新手指引效果. GuideView https://github.com/binIoter/GuideView 国人开发者出品的一个轻量级新手指

[MarsZ]Unity3d游戏开发之Unity3d全策划配置新手指引

Unity3d全策划配置新手指引 前言... 2 版本... 2 作者... 2 功能... 2 类型... 2 触发类型... 2 步骤类型... 3 实现... 4 简要... 4 策划方面... 4 程序方面... 4 流程图... 5 详细技术方案... 6 程序主要逻辑... 6 关键细节答疑... 6  附:word版百度云盘下载 http://pan.baidu.com/s/1DbNxs 前言 本文档描述Unity3d下支持策划灵活配置.多样性丰富的新手指引的相关说明,如有设计上不

用UGUI制作手游新手指引

因为这几天工作上的需要,研究了下用UGUI制作新手指引.可以实现这个效果的方法有很多,都用了一遍,最后还是感觉这个方法比较好.我们需要创建一个画布,然后在画布下创建需要新手指引用到的按钮, 然后在需要新手指引的按钮上加2个组件,一个是 Graphic Raycaster 和Canvas ,Graphic Raycaster是用来是否接受可以交互的,Canvas是改变显示的,记得我们这里需要一个遮罩,就用一个Image来做吧 然后我们给这个4个按钮都加上这2个组件,因为这里我是测试所以我需要一运行

iOS: 首次使用App时,显示半透明新手指引

在很多的app,我们都会发现这样一个功能:就是app启动后进入主界面时,会有一个半透明的指引图,它会提示用户如何一步步进行操作,快速的熟悉app的使用规则,极大地方便了用户的使用,也加快了app的推广,优点不言而喻. 我主要介绍一下思路: 首先创建一个半透明的蒙版覆盖在当前整个屏幕上,然后用贝塞尔曲线绘制白色的提示框(矩形或者圆形),接着给出带箭头图标的文字提示,也即在蒙版上添加自定义的子视图控件.当然,最后给整个蒙版添加一个触摸手势,只要轻轻点击就移除蒙版.子视图.手势,恢复正常界面. 注意:

40.Android之新手指引界面学习

我们经常可以看到打开新App会有新手指引界面,类似蒙板效果今天来学习.原理其实很简单,设置一个透明Activity或者Dialog,然后修改其属性即可.由于实现比较简单,就贴一部分代码. 1.在Androidmanifest.xml增加 1 <activity 2 android:name=".TransparentActivity" //你的Activity 3 android:theme="@style/TransparenceTheme"> 4 &

首次启动优美新手指引tip

前言 系列文章:[传送门] 期末考试复习,就准备这系列的博客,记录 概率论 复习的成果. 正文 内容来自 概率论相关书籍 及 资料,有疑问请留言. 随机试验 · 样本空间 任何一个过程,如果它的结果是随机的(无法事前知道),那么该过程就称为一个随机试验(E).具有三个性质: (1)每次试验的可能结果不止一个,并且能事先明确试验的所有可能结果. (2)进行一次试验之前无法确定哪一个结果会出现. (3) 可以在同一条件下重复进行试验. 实验所有可能的结果组成一个集合(set),叫做样本空间(samp

GuidelinesOfGameDevelopment游戏开发新手指引

# GuidelinesOfGameDevelopment Just give out some experience or directions on game development to green hands.分享经验或路线给新手们 正文:最新指引链接 游戏类型:手游.端游.页游.家用游戏(电视) 游戏相关职位: 客户端: 游戏逻辑(常见功能和特色功能开发),将用户体验做到极致,未来方向应该是主程.游戏制作人和游戏玩法创新.C#或Lua.js.我想说,让Lua滚出游戏界,算了,还是我退出

pandas 新手指引

# 10 Minutes to pandas pandas入门教程,面向新手,如需高级教程,移步[pandas cookbook](http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook) 按照约定,一般按照如下形式对pandas进行导入 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 使用ipython notebook

新手指引

1.拆分成指引小组 把指引步骤,尽量拆分的细一些.比如,虽然创建英雄祭坛和招募英雄是连续的步骤,但是,应该拆分成两组指引,创建,招募各代表一组.最理想的情况是,每一步只跟服务器进行一次信息同步.这样,就比较容易进行断点返还. 每一个小组有一个编号 比如 1000,每一个小组中的每一步都有一个小步骤编号如1,2,3.这样每一步的指引就有一个唯一的编号=小组编号 +步骤编号, 如1001. 2.每一步的触发条件 指引系统的每一步,不应该自己一步步驱动,也不应该通过计时控制,而应该是有游戏的业务逻辑驱