第三个消息,只能传一个string吗?如果我想传两个string呢?
时间: 2024-01-26 07:02:24 浏览: 150
关于线程传参(可以传多个)
是的,UnityPlayer.UnitySendMessage方法的第三个参数只能传递一个字符串类型的参数。如果您想传递多个参数,可以将它们拼接成一个字符串,然后使用分隔符将它们分开,例如使用逗号(,)作为分隔符。
在接收到消息后,您可以在Android端使用字符串分割方法(例如String.split()方法)将消息拆分成多个参数。以下是一个示例代码,展示如何将多个参数拼接成一个字符串,并在Android端将它们拆分为多个参数:
Unity中的代码:
```csharp
public class SendMessage : MonoBehaviour
{
public void SendToAndroid()
{
string objectName = "AndroidObject";
string methodName = "ReceiveFromUnity";
string message = "param1,param2,param3";
UnityPlayer.UnitySendMessage(objectName, methodName, message);
}
}
```
Android中的代码:
```java
public class AndroidObject extends Activity {
public void ReceiveFromUnity(String message) {
String[] params = message.split(",");
String param1 = params[0];
String param2 = params[1];
String param3 = params[2];
// do something with the parameters...
}
}
```
在上面的代码中,我们将参数param1、param2和param3拼接成了一个字符串,并使用逗号作为分隔符。在Android中,我们使用String.split()方法将消息字符串拆分为多个参数,并将它们存储在params数组中。然后,我们可以使用这些参数执行任何操作。
阅读全文