游戏蛮牛学习群(纯技术交流,不闲聊):959392658
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2370

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 2066|回复: 38

[码农亚] UGUI的IPointerEnterHandler事件与IPointerExitHandler事件分离控制同一个功能块,方法解决

[复制链接]  [移动端链接]
排名
3352
昨日变化

11

主题

119

帖子

962

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1844
威望
0
注册时间
2017-10-31
在线时间
384 小时
最后登录
2018-12-10

专栏作家活力之星

发表于 2018-6-18 16:19:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 码农亚 于 2018-6-18 16:19 编辑

01 奇奇怪怪需求: UGUI的IPointerEnterHandler事件与IPointerExitHandler事件分离控制同一个功能块。
02 大家一看标题可能会很迷糊,我打算用文字来说明情况。
  鼠标进入父物体,父物体一侧弹出两个子物体,然后我们可以点击两个子物体来进行相关的操作,但是当鼠标离开子物体和父物体后,子物体消失。
03 如下截图[size=18.6667px]

关系示例图

关系示例图


[size=18.6667px]04 这类触发效果的图片不好截取,所以就截取一个效果图。
[size=18.6667px]

效果图

效果图


[size=18.6667px]注: 因为截图需要鼠标进行重新绘制,所以图片中鼠标选中的状态没有,就这样。
[size=18.6667px]05 我把相应的Debug内容简单输出到屏幕进行显示,这是宋哥当初指导的,发出来顺便让大家也可以借用方法查看Debug报错输出。
[size=18.6667px]PS :感觉貌似字数不够,就简单的把我的一段脚本代码发出来吧。
[size=18.6667px]
[C#] 纯文本查看 复制代码
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections.Generic;
//Time :: 180615
public class ScreenCenterManager : MonoBehaviour
{
    public GameObject _mainTarget;
    public bool raycasterExecute;
    string target1 = "双选项底";
    string target2 = "小型按钮块";
    // Use this for initialization
 
    // Update is called once per frame
    void Update()
    {
        if (raycasterExecute)
        {
            //ForTwoObjsRaycaster();
            OnePointColliderObject();
        }
    }
    public void OnePointColliderObject()
    {
        PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
        eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);

        List<RaycastResult> results = new List<RaycastResult>();
        EventSystem.current.RaycastAll(eventDataCurrentPosition, results);

        if (results.Count > 0)
        {
            //Debug.Log(results[0].gameObject.name);
            for (int i = 0; i < results.Count; i++)
            {
                if (results[results.Count - 1].gameObject.name != target1 && results[results.Count - 1].gameObject.name != target2)
                {
                   //UI控制
                    _mainTarget.SetActive(false);
                    raycasterExecute = false;
                }
            }
        }
        //3D区域控制
        if ((!EventSystem.current.IsPointerOverGameObject()))
        {
            _mainTarget.SetActive(false);
            raycasterExecute = false;
        }
    }
    public void FirstMethod()
    {
        Debug.Log("方法1启动");
    }
    public void SecondMethod()
    {
        Debug.Log("方法2启动");
    }
}



[size=18.6667px]老规矩,下面就是项目内容
[size=18.6667px] RomanticCute07.rar (185.59 KB, 下载次数: 77, 售价: 1 蛮牛币)

回复

使用道具 举报

排名
62992
昨日变化
31

0

主题

3

帖子

5

积分

Rank: 1

UID
286289
好友
0
蛮牛币
0
威望
0
注册时间
2018-6-18
在线时间
0 小时
最后登录
2018-6-18
发表于 2018-6-18 22:01:57 | 显示全部楼层
厉害,这个代码对我很有帮助
[发帖际遇]: 159lll 捡了钱没交公 蛮牛币 降了 3 . 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

排名
62992
昨日变化
31

0

主题

3

帖子

5

积分

Rank: 1

UID
286289
好友
0
蛮牛币
0
威望
0
注册时间
2018-6-18
在线时间
0 小时
最后登录
2018-6-18
发表于 2018-6-18 22:03:04 | 显示全部楼层
厉害这个代码对我很有帮助
[发帖际遇]: 159lll 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

排名
38864
昨日变化
5

0

主题

9

帖子

34

积分

Rank: 1

UID
286241
好友
0
蛮牛币
61
威望
0
注册时间
2018-6-18
在线时间
19 小时
最后登录
2018-9-8
发表于 2018-6-18 22:23:33 | 显示全部楼层
感謝拉   知識又增長了

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1084/1500
排名
3274
昨日变化
15

0

主题

247

帖子

1084

积分

Rank: 6Rank: 6Rank: 6

UID
279508
好友
0
蛮牛币
1850
威望
0
注册时间
2018-5-2
在线时间
399 小时
最后登录
2018-12-10
发表于 2018-6-19 08:44:47 | 显示全部楼层
好东西,感谢分享

回复

使用道具 举报

5熟悉之中
568/1000
排名
5368
昨日变化
2

2

主题

147

帖子

568

积分

Rank: 5Rank: 5

UID
252889
好友
2
蛮牛币
1838
威望
0
注册时间
2017-11-6
在线时间
164 小时
最后登录
2018-12-4
QQ
发表于 2018-6-19 09:00:56 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
611/1000
排名
5603
昨日变化
1

2

主题

184

帖子

611

积分

Rank: 5Rank: 5

UID
277168
好友
0
蛮牛币
2001
威望
0
注册时间
2018-4-14
在线时间
181 小时
最后登录
2018-12-10
发表于 2018-6-19 09:02:58 | 显示全部楼层
感谢楼主

回复

使用道具 举报

7日久生情
3678/5000
排名
2058
昨日变化
1

0

主题

2618

帖子

3678

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185339
好友
1
蛮牛币
4571
威望
0
注册时间
2016-11-20
在线时间
416 小时
最后登录
2018-12-10
发表于 2018-6-19 09:07:04 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
523/1000
排名
4694
昨日变化

0

主题

77

帖子

523

积分

Rank: 5Rank: 5

UID
71644
好友
0
蛮牛币
859
威望
0
注册时间
2015-1-28
在线时间
146 小时
最后登录
2018-12-10
发表于 2018-6-19 09:12:23 | 显示全部楼层
厉害厉害

回复

使用道具 举报

7日久生情
2311/5000
排名
887
昨日变化

1

主题

669

帖子

2311

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
56496
好友
0
蛮牛币
6966
威望
0
注册时间
2014-11-19
在线时间
521 小时
最后登录
2018-12-10
发表于 2018-6-19 09:13:46 | 显示全部楼层
感谢分享,十分受用~~

回复 支持 反对

使用道具 举报

5熟悉之中
663/1000
排名
3516
昨日变化
2

1

主题

38

帖子

663

积分

Rank: 5Rank: 5

UID
230664
好友
2
蛮牛币
1159
威望
0
注册时间
2017-7-6
在线时间
216 小时
最后登录
2018-11-30
发表于 2018-6-19 09:26:41 | 显示全部楼层
如果这都不算爱  ,如果这都是爱情?如果你不爱我?

回复 支持 反对

使用道具 举报

7日久生情
1821/5000
排名
2249
昨日变化

5

主题

720

帖子

1821

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
239879
好友
1
蛮牛币
3945
威望
0
注册时间
2017-8-26
在线时间
494 小时
最后登录
2018-12-8
发表于 2018-6-19 09:46:40 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
568/1000
排名
5368
昨日变化
2

2

主题

147

帖子

568

积分

Rank: 5Rank: 5

UID
252889
好友
2
蛮牛币
1838
威望
0
注册时间
2017-11-6
在线时间
164 小时
最后登录
2018-12-4
QQ
发表于 2018-6-19 10:43:52 | 显示全部楼层

回复

使用道具 举报

7日久生情
3423/5000
排名
1722
昨日变化

0

主题

2127

帖子

3423

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
1
蛮牛币
2610
威望
0
注册时间
2017-7-12
在线时间
554 小时
最后登录
2018-12-10

活力之星

发表于 2018-6-19 11:00:09 | 显示全部楼层
谢谢分享

回复

使用道具 举报

4四处流浪
328/500
排名
8416
昨日变化

0

主题

78

帖子

328

积分

Rank: 4

UID
236975
好友
0
蛮牛币
578
威望
0
注册时间
2017-8-11
在线时间
112 小时
最后登录
2018-12-5
发表于 2018-6-19 11:11:49 | 显示全部楼层

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表