纳金网

标题: 用函数当参数 使用委托实现 [打印本页]

作者: may    时间: 2015-11-18 04:36
标题: 用函数当参数 使用委托实现
  1. public class GoMove : MonoBehaviour
  2. {
  3.      bool isStart = false;//开始移动.
  4.      public delegate void MethodGoMove();//定义函数格式,如果要传递更多的参数可以用GameObject go来传递.
  5.      MethodGoMove currentMethodGoMove;
  6.      static public void A(float moveSpeed,MethodGoMove methodGoMove)
  7.      {
  8.           this.moveSpeed = moveSpeed;
  9.           currentMethodGoMove = methodGoMove;
  10.      }

  11.      void CallTime()//调用时机.
  12.      {
  13.           if(isStart)
  14.           {
  15.                     if(currentMethodGoMove!=null)
  16.                     currentMethodGoMove();//在这里调用wantCall函数.
  17.            }
  18.      }
  19. }

  20. //在B类里调用
  21. public class B
  22. {
  23. void wantCall()
  24. {
  25.      do soming
  26. }
  27. void sometA()
  28. {
  29.      GoMove.A(3.5f,wantCall );
  30. }
  31. }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5