找回密码
 注册帐号

扫一扫,访问微社区

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

38
回复
3140
查看
[ 复制链接 ]
排名
2715
昨日变化

12

主题

126

帖子

1157

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
4
蛮牛币
2134
威望
0
注册时间
2017-10-31
在线时间
463 小时
最后登录
2019-3-25

专栏作家活力之星

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 蛮牛币)
回复

使用道具 举报

排名
64917
昨日变化

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 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

排名
64917
昨日变化

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 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

排名
39854
昨日变化

0

主题

9

帖子

34

积分

Rank: 1

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

使用道具 举报

6蛮牛粉丝
1246/1500
排名
2667
昨日变化

0

主题

248

帖子

1246

积分

Rank: 6Rank: 6Rank: 6

UID
279508
好友
0
蛮牛币
2196
威望
0
注册时间
2018-5-2
在线时间
452 小时
最后登录
2019-2-27
2018-6-19 08:44:47 显示全部楼层
好东西,感谢分享
回复

使用道具 举报

5熟悉之中
694/1000
排名
4639
昨日变化

5

主题

161

帖子

694

积分

Rank: 5Rank: 5

UID
252889
好友
2
蛮牛币
2241
威望
0
注册时间
2017-11-6
在线时间
212 小时
最后登录
2019-3-22
QQ
2018-6-19 09:00:56 显示全部楼层
回复

使用道具 举报

5熟悉之中
685/1000
排名
4966
昨日变化

2

主题

185

帖子

685

积分

Rank: 5Rank: 5

UID
277168
好友
0
蛮牛币
2067
威望
0
注册时间
2018-4-14
在线时间
208 小时
最后登录
2019-1-25
2018-6-19 09:02:58 显示全部楼层
感谢楼主
回复

使用道具 举报

7日久生情
4681/5000
排名
1669
昨日变化

0

主题

3293

帖子

4681

积分

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

UID
185339
好友
1
蛮牛币
3372
威望
0
注册时间
2016-11-20
在线时间
610 小时
最后登录
2019-3-22
2018-6-19 09:07:04 显示全部楼层
回复

使用道具 举报

5熟悉之中
714/1000
排名
3601
昨日变化

0

主题

94

帖子

714

积分

Rank: 5Rank: 5

UID
71644
好友
0
蛮牛币
1169
威望
0
注册时间
2015-1-28
在线时间
204 小时
最后登录
2019-3-22
2018-6-19 09:12:23 显示全部楼层
厉害厉害
回复

使用道具 举报

7日久生情
2461/5000
排名
782
昨日变化

1

主题

686

帖子

2461

积分

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

UID
56496
好友
0
蛮牛币
7584
威望
0
注册时间
2014-11-19
在线时间
556 小时
最后登录
2019-3-24
2018-6-19 09:13:46 显示全部楼层
感谢分享,十分受用~~
回复 支持 反对

使用道具 举报

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

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日久生情
2107/5000
排名
1822
昨日变化

5

主题

783

帖子

2107

积分

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

UID
239879
好友
1
蛮牛币
17200
威望
0
注册时间
2017-8-26
在线时间
589 小时
最后登录
2019-3-22
2018-6-19 09:46:40 显示全部楼层
回复

使用道具 举报

5熟悉之中
694/1000
排名
4639
昨日变化

5

主题

161

帖子

694

积分

Rank: 5Rank: 5

UID
252889
好友
2
蛮牛币
2241
威望
0
注册时间
2017-11-6
在线时间
212 小时
最后登录
2019-3-22
QQ
2018-6-19 10:43:52 显示全部楼层
回复

使用道具 举报

7日久生情
3621/5000
排名
1488
昨日变化

0

主题

2135

帖子

3621

积分

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

UID
219676
好友
1
蛮牛币
2912
威望
0
注册时间
2017-7-12
在线时间
632 小时
最后登录
2019-3-24

活力之星

2018-6-19 11:00:09 显示全部楼层
谢谢分享
回复

使用道具 举报

4四处流浪
331/500
排名
8566
昨日变化

0

主题

78

帖子

331

积分

Rank: 4

UID
236975
好友
0
蛮牛币
589
威望
0
注册时间
2017-8-11
在线时间
114 小时
最后登录
2019-3-17
2018-6-19 11:11:49 显示全部楼层
回复

使用道具 举报

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

本版积分规则