返回介绍

Component.BroadcastMessage 广播消息

发布于 2019-12-18 15:37:35 字数 2197 浏览 965 评论 0 收藏 0

JavaScript => BroadcastMessage(methodName: string, parameter: object = null, options: SendMessageOptions = SendMessageOptions.RequireReceiver): void;
JavaScript => BroadcastMessage(methodName: string, options: SendMessageOptions): void;
C# => void BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
C# => void BroadcastMessage(string methodName, SendMessageOptions options);

Parameters 参数

methodNameName of the method to call.
要调用的方法名
parameterOptional parameter to pass to the method (can be any value).
可选参数,要传递的方法名(可以是任何值)
optionsShould an error be raised if the method does not exist for a given target object?
如果用于给定的目标对象方法不存在,应该抛出错误么?

Description 描述

Calls the method named /methodName/ on every MonoBehaviour in this game object or any of its children.

在该游戏对象的和它的全部子对象上每一MonoBehaviour调用名为methodName的方法。

The receiving method can choose to ignore /parameter/ by having zero arguments. if options is set to SendMessageOptions.RequireReceiver an error is printed when the message is not picked up by any component.

接收消息的方法可以通过不要参数的方法来选择忽略参数,当选项被设置为SendMessageOptions.RequireReceiver时,如果消息没有被任何一个组件处理,则会打印一个错误.

JavaScript:

	/// Calls the function ApplyDamage with a value of 5
	BroadcastMessage ("ApplyDamage", 5.0);
 
	// Every script attached to the game object and all its children
	// that has a ApplyDamage function will be called.
	function ApplyDamage (damage : float) {
		print (damage);
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    void ApplyDamage(float damage) {
        print(damage);
    }
    void Example() {
        BroadcastMessage("ApplyDamage", 5.0F);
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文