zoukankan      html  css  js  c++  java
  • 演职人员名单MobileMenuList

      当你的游戏打完,你也会将你的演职人员名单像电影开发者一样滚动显示。  

      下面就是滚动技术的实现,我会讲的非常混乱。

      MobileMenuList和MobileMenuListItem使我们所选择的滚动列表,他的特性是可以让玩家交互查看。

      我们不仅仅设置滚动的速度,同时还定义自己的列表能否被玩家交互控制。

      MobileMenuObject类中,非常重要的选项是处理交互和渲染。

      渲染在function renderObject(Canvas Canvas,float DeltaTime)中进行。

      MobileMenuList中Drag.bIsDragging和Movement.bIsMoving是两个重要的属性,他们分别定义List列表当前是否有选项ListItem被拖动和移动。

      其中var SelectedMenuItem SelectedItem;  //SelectedMenuItem是其定义的结构,分别有当前被选中物体的Index,Offset, bEndOfList。

      CalculatedSelectedItem是用于处理当前选中的List位置信息的,包括滚动和位置情况,对了,以及是否结束bEndOfList。

      这样在知道了位置信息之后我们才能渲染。

      function RenderObject(Canvas Canvas,float DeltaTime)

      {

          if(!Drag.bIsDragging&&!Movement.bIsMoving)

          {

               CalculatedSelectedItem(SelectedItem,DeltaTime*ScrollPixelPerSec,false);     //我们让其在每Tick中都进行滚动
          }

          Super.RenderObject(Canvas,DeltaTime);
      }

       //既然我们让显示人员名单可控,我们就得处理触碰事件。

      event bool OnTouch(EZoneTouchEvent EventType,float TouchX,float TouchY,MobileMenuObject ObjectOver,float DeltaTime)

      {

    //这才是能否接受Touch的前提条件

          if(bAllowInterrupt)

          {

            return Super.OnTouch(EventType,TouchX,TouchY,ObjectOver,DeltaTime);
          }

          return true;
      }

      
    /** When user taps on an options, should we scroll to it?  Typically, when there is no obvious 'selected', you don't want to */
    var bool bTapToScrollToItem;

      认真的去读MobileMenuList,Epic为我们做了很多有用的接口。下一节MobileMenuListItem

  • 相关阅读:
    UISegmentControl
    UISegmentControl,UISwich,UIPageControl
    UIPageControl,UISlider
    UISlider
    触摸事件,响应者链和手势
    NIO Socket
    处理多线程问题的工具类
    Java多线程疑难点
    软中断和硬中断的联系与区别
    进程—内存描述符(mm_struct)
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/3126954.html
Copyright © 2011-2022 走看看