开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:473

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1315|回复: 10

[基本操作] ui渐隐

[复制链接]  [移动端链接]
5熟悉之中
620/1000
排名
4394
昨日变化
22

12

主题

81

帖子

620

积分

Rank: 5Rank: 5

UID
184458
好友
2
蛮牛币
1890
威望
0
注册时间
2016-11-17
在线时间
275 小时
最后登录
2017-10-23

迈向小康

发表于 2017-10-9 17:51:23 | 显示全部楼层 |阅读模式
5蛮牛币
这样一张图片沿着箭头的方向从无到有 这个效果怎么搞


(我要的效果类似与透明度那种效果差不多 比如下面的透明度为0.5  上面的为1 )


QQ图片20171009174422.png

回复

使用道具 举报

3偶尔光临
263/300
排名
7860
昨日变化
6

0

主题

27

帖子

263

积分

Rank: 3Rank: 3Rank: 3

UID
139214
好友
0
蛮牛币
367
威望
0
注册时间
2016-3-12
在线时间
120 小时
最后登录
2017-10-23
发表于 2017-10-9 17:51:24 | 显示全部楼层
本帖最后由 云外九霄 于 2017-10-9 18:45 编辑

哦,,,说的是要渐变效果么??我傻逼了。。
[C#] 纯文本查看 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;


public class SetColorTemp : BaseMeshEffect {
    [SerializeField]
    private float m_ColorAlphaTop = 1f;
    [SerializeField]
    private float m_ColorAlphaBottom = 0.5f;
    
    public override void ModifyMesh(VertexHelper vh)
    {
        if (!IsActive())
        {
            return;
        }
        List<UIVertex> vertices = new List<UIVertex>();
        vh.GetUIVertexStream(vertices);
        int iCount = vh.currentVertCount;
        if (iCount > 0)
        {
            float bottomY = vertices[0].position.y;
            float topY = vertices[0].position.y;

            for (int i = 1; i < iCount; i++)
            {
                float y = vertices[i].position.y;
                if (y > topY)
                {
                    topY = y;
                }
                else if (y < bottomY)
                {
                    bottomY = y;
                }
            }
            UIVertex v = new UIVertex();
            float uiElementHeight = topY - bottomY;
            for (int i = 0; i < iCount; i++)
            {
                vh.PopulateUIVertex(ref v, i);
                v.color = Color32.Lerp(new Color(v.color.r, v.color.g, v.color.b, m_ColorAlphaBottom), new Color(v.color.r, v.color.g, v.color.b, m_ColorAlphaTop), (v.position.y - bottomY) / uiElementHeight);
                vh.SetUIVertex(v,i);
            }
        }
    }

}



回复

使用道具 举报

3偶尔光临
263/300
排名
7860
昨日变化
6

0

主题

27

帖子

263

积分

Rank: 3Rank: 3Rank: 3

UID
139214
好友
0
蛮牛币
367
威望
0
注册时间
2016-3-12
在线时间
120 小时
最后登录
2017-10-23
发表于 2017-10-9 17:59:54 | 显示全部楼层
直接改图片的透明度啊。

回复

使用道具 举报

7日久生情
1986/5000
排名
799
昨日变化
1

1

主题

212

帖子

1986

积分

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

UID
127556
好友
0
蛮牛币
4820
威望
0
注册时间
2015-11-2
在线时间
765 小时
最后登录
2017-10-23
发表于 2017-10-9 19:08:08 | 显示全部楼层
写一个UI shader。让alpha是渐变的。

回复

使用道具 举报

5熟悉之中
620/1000
排名
4394
昨日变化
22

12

主题

81

帖子

620

积分

Rank: 5Rank: 5

UID
184458
好友
2
蛮牛币
1890
威望
0
注册时间
2016-11-17
在线时间
275 小时
最后登录
2017-10-23

迈向小康

 楼主| 发表于 2017-10-10 11:09:39 | 显示全部楼层
云外九霄 发表于 2017-10-9 17:51
哦,,,说的是要渐变效果么??我傻逼了。。
[mw_shl_code=csharp,true]using System.Collections;
using  ...

怎么改变区域的大小  意思就是下面的区域大一点,上面的区域小一点
[发帖际遇]: 无名_ 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
263/300
排名
7860
昨日变化
6

0

主题

27

帖子

263

积分

Rank: 3Rank: 3Rank: 3

UID
139214
好友
0
蛮牛币
367
威望
0
注册时间
2016-3-12
在线时间
120 小时
最后登录
2017-10-23
发表于 2017-10-10 14:27:29 | 显示全部楼层
无名_ 发表于 2017-10-10 11:09
怎么改变区域的大小  意思就是下面的区域大一点,上面的区域小一点

???额。。。你的意思是分阶段渐变?
例如透明度0.5~0.8的渐变占图片的90%,0.8~1的渐变占图片的%10。
这样?

回复

使用道具 举报

5熟悉之中
620/1000
排名
4394
昨日变化
22

12

主题

81

帖子

620

积分

Rank: 5Rank: 5

UID
184458
好友
2
蛮牛币
1890
威望
0
注册时间
2016-11-17
在线时间
275 小时
最后登录
2017-10-23

迈向小康

 楼主| 发表于 2017-10-10 14:34:02 | 显示全部楼层
云外九霄 发表于 2017-10-10 14:27
???额。。。你的意思是分阶段渐变?
例如透明度0.5~0.8的渐变占图片的90%,0.8~1的渐变占图片的%10。
...

是的  就是这个意思  这个怎么调

回复

使用道具 举报

3偶尔光临
263/300
排名
7860
昨日变化
6

0

主题

27

帖子

263

积分

Rank: 3Rank: 3Rank: 3

UID
139214
好友
0
蛮牛币
367
威望
0
注册时间
2016-3-12
在线时间
120 小时
最后登录
2017-10-23
发表于 2017-10-10 14:39:28 | 显示全部楼层
无名_ 发表于 2017-10-10 14:34
是的  就是这个意思  这个怎么调

你就去判断 vh.PopulateUIVertex(ref v, i);得出来的v的Position.y的值啊,与(uiElementHeight*你想要的比例)比大小,

回复

使用道具 举报

5熟悉之中
620/1000
排名
4394
昨日变化
22

12

主题

81

帖子

620

积分

Rank: 5Rank: 5

UID
184458
好友
2
蛮牛币
1890
威望
0
注册时间
2016-11-17
在线时间
275 小时
最后登录
2017-10-23

迈向小康

 楼主| 发表于 2017-10-13 09:23:25 | 显示全部楼层
本帖最后由 无名_ 于 2017-10-13 10:01 编辑
云外九霄 发表于 2017-10-10 14:39
你就去判断 vh.PopulateUIVertex(ref v, i);得出来的v的Position.y的值啊,与(uiElementHeight*你想要的 ...

不行啊  还是不可以

回复

使用道具 举报

2初来乍到
129/150
排名
15734
昨日变化
7

1

主题

47

帖子

129

积分

Rank: 2Rank: 2

UID
213085
好友
1
蛮牛币
69
威望
0
注册时间
2017-3-20
在线时间
51 小时
最后登录
2017-10-23
发表于 2017-10-13 15:56:37 | 显示全部楼层
有点乱

回复

使用道具 举报

5熟悉之中
620/1000
排名
4394
昨日变化
22

12

主题

81

帖子

620

积分

Rank: 5Rank: 5

UID
184458
好友
2
蛮牛币
1890
威望
0
注册时间
2016-11-17
在线时间
275 小时
最后登录
2017-10-23

迈向小康

 楼主| 发表于 2017-10-13 16:19:36 | 显示全部楼层

能搞出来不?????

回复

使用道具 举报

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

本版积分规则

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