zoukankan      html  css  js  c++  java
  • 渲染和填充MobileMenuListItem

      在MobileMenuElement中有var vector2D VpPos,VpSize;  分别是列表的位置和大小。然后在MobileMenuListItem中有Height和Width。分别表示每一个item的长度和宽度。

      在MobileMenuListItem中可以填充这些元素。

      我自己定义了一种文字var array<AntDrawText> Parts;

      AntDrawText是自定义的文字类,里面的Render(Canvas,Alpha);//是文字的渲染函数

      function RenderItem(MobileMenuList List,Canvas canvas,float DeltaTime)

      {

          local AntDrawText Part;

          local float Percentage,AlphaVal;   //我们定义了一个百分比和显示的Alpha值,目的是为了让人员名单两边以渐变的形式消隐

          super.RenderItem(List,Canvas,DeltaTime);

          Percentage=FMax(0,VpPos.Y)/Clip.Y;     //纵轴在屏幕的百分比

          AlphaVal=1.f;

          if(Percentage<0.2f)    //如果是在顶部20%区域

          {

                           AlphaVal=FMin(1,0.5f*Percentage);   
          }

          else

          {

            Percentage=FMax(0,VpPos.Y+height)/Canvas.ClipY; //下部的话,我们得算上其宽度

            if(Percentage>0.8)

            {

              Percentage=1-Percentage;

              AlphaVal=FMin(1,Percentage*5.0f);
            }

            
          }  

          foreach Parts(part)

          {

            Part.Render(Canvas,FClamp(AlphaVal,0,1));
          }


      }

  • 相关阅读:
    深入浅出TCP之listen
    indexing and hashing
    c++四种强制类型转化
    c++实现web服务框架
    MVC、MVP、MVVM概念解析
    常用设计模式
    [React]虚拟DOM
    防抖和节流
    函数柯里化
    apply, bind, call方法剖析
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/3127157.html
Copyright © 2011-2022 走看看