转载自:http://www.xiaobao1993.com/548.html
今天有人问参数传递的问题。这里就把几个传递参数的方式整理一下。
静态调用传递
顾名思义。这个应该最简单了。就是定义静态变量。静态方法。然后直接 类名.参数 就可以调用。
发送消息
内容Component.SendMessage来实现跨脚本发送消息传递参数。下面发一个整理好的发消息脚本:
代码很简单。大家应该看一下就懂了。
用时。先注册下要发送到那个脚本,示例如下:
如上两个测试脚本。互相传递参数。有N2发消息到N21。然后N21在次发送到N2。 由于传递的是object。所以。可以发送任意类型的参数。
结果图:
委托
用delegate回调。如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
using
UnityEngine
;
using
System
.
Collections
;
public
class
N31
:
MonoBehaviour
{
private
static
N31
mInstance
;
//单例
public
static
N31
GetInstance
(
)
{
if
(
mInstance
==
null
)
{
GameObject
go
=
new
GameObject
(
"N31"
)
;
mInstance
=
go
.
AddComponent
<
N31
>
(
)
;
}
return
mInstance
;
}
public
delegate
void
OnPostData
(
object
data
)
;
public
OnPostData
onPostData
;
public
void
N31Test
(
)
{
Debug
.
Log
(
"N31"
)
;
this
.
onPostData
(
"222"
)
;
}
}
|
结果: