基础类型 / MulticastGameObjectDelegate
MulticastGameObjectDelegate Class
广播代理
使用示例: 创建一个名为"MultidelExample"的脚本,打开脚本,输入以下代码保存,运行游戏,打印输出 5 。ts
@Component
export default class ActionExample extends Script {
// 示例函数,满足 GameObjectDelegateFuncType 约束
public async addNumbers(object: GameObject): Promise<void> {
console.log(object.gameObjectId);
}
protected async onStart(): Promise<void> {
// 实例化 MulticastGameObjectDelegate 类
const delegateInstance = new MulticastGameObjectDelegate();
// 添加 MulticastGameObjectDelegate 实例的方法
delegateInstance.add(this.addNumbers);
// 广播 MulticastGameObjectDelegate 实例的方法
const rocket = await GameObject.asyncSpawn("162807" ,{transform: new Transform(new Vector(300, 210, 0), new Rotation(0, 0, 0), new Vector(1, 1, 1))}) as Model;
delegateInstance.broadcast(rocket);
}
}
@Component
export default class ActionExample extends Script {
// 示例函数,满足 GameObjectDelegateFuncType 约束
public async addNumbers(object: GameObject): Promise<void> {
console.log(object.gameObjectId);
}
protected async onStart(): Promise<void> {
// 实例化 MulticastGameObjectDelegate 类
const delegateInstance = new MulticastGameObjectDelegate();
// 添加 MulticastGameObjectDelegate 实例的方法
delegateInstance.add(this.addNumbers);
// 广播 MulticastGameObjectDelegate 实例的方法
const rocket = await GameObject.asyncSpawn("162807" ,{transform: new Transform(new Vector(300, 210, 0), new Rotation(0, 0, 0), new Vector(1, 1, 1))}) as Model;
delegateInstance.broadcast(rocket);
}
}
Table of contents
Methods
add(func : GameObjectDelegateFuncType ): void |
---|
添加代理事件 |
broadcast(obj : GameObject ): void |
触发代理事件 |
clear(): void |
清空代理事件(危险操作,请注意您所清空的是哪些代理事件) |
remove(func : GameObjectDelegateFuncType ): void |
删除代理事件 |
Methods
add
• add(func
): void
添加代理事件
Parameters
func GameObjectDelegateFuncType | 事件回调函数 default: |
---|
broadcast
• broadcast(obj
): void
触发代理事件
Parameters
obj GameObject | 触发物体对象 |
---|
clear
• clear(): void
清空代理事件(危险操作,请注意您所清空的是哪些代理事件)
remove
• remove(func
): void
删除代理事件
Parameters
func GameObjectDelegateFuncType | 事件回调函数 |
---|