zoukankan      html  css  js  c++  java
  • 代理:::插科打诨

      代理是unrealscript中非常重要的课题,关于UI关于Mobile交互都不可或缺,对于CloudPC和IAP部分如果欠缺了这部分的知识常常会与崩溃结缘。

      凡是以Actor继承的类都会进行垃圾处理,而Object则不会,恰恰UI部分是以Object继承来的。这意味着,不清空就崩溃!

      代理是绑定在object上的函数,他们的主要作用是提供回调,例如在UI系统中通知事件。

      1.声明一个代理

      Class Button extends Window;

      delegate OnClick(Button B,int MouseX,int MouseY);  //看看这里完全是为了实现UI而做的类。

      2.调用一个代理

    class Button extends Window;
    
      var int MouseDownX,MouseDownY;
    
      delegate OnClick(Button B,int MouseX,int MouseY);
    
      function MouseDown(int MouseX,int MouseY)
    
      {
    
        MouseDownX=MouseX;
    
        MouseDownY=MouseY;
      }
    
      function MouseUp(int MouseX,int MouseY)
    
      {
    
        if(MouseX==MouseDownX&&MouseY==MouseDownY)
    
               OnClick(self,MouseX,MouseY);
      }

      3.最重要的,将代理指向一个函数。否则代理就没有实现

      通常要实现一个代理,要将其指向一个函数,而这个函数一般不在自己的类中,而这个类中一般要声明一个和代理参数,返回类型一样的函数。

      重新定义一个类

      class FuckButton extends Window;

      var Button OKButton;

      function FuckClick(Button B,int MouseX,int MouseY)

      {

        if(B==OkButton)

        SaveDetails();

        CloseWindow();
      }

      event init()

      {

         OkButton=Create(class'Button',40,100,53,20);

          OkButton.OnClick=FuckClick;
      }

      同样可以在defaultproperties中分配

      OKButton.OnClick=MyClick;

  • 相关阅读:
    阿里安全称发现安卓WiFi漏洞:黑客可远程攻击
    Android Art Hook 技术方案
    java 静态代码块执行顺序
    sqlzoo易错题
    Centos7安装配置Nginx_笔记
    System.Runtime.Caching中MemoryCache帮助类
    youtube-dl工具的使用
    C#程序员快速上手Angular开发
    npm常见配置收集
    Resharp常用设置收集整理
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/2941949.html
Copyright © 2011-2022 走看看