Cocos Creator中 脚本之间的相互调用

本文介绍在CocosCreator中使用单例模式和GetComponent方式进行脚本间调用的方法,包括具体实现代码示例,适用于游戏开发和类型脚本交互场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前在使用Unity开发的时候,脚本之间相互调用是很常见的,一般可以通过GetComponent方式或者 单例的模式,再或者静态方法的方式去调用其他脚本中的函数 或者变量。

在CocosCreator中我们也可以使用以上的方法去调用其他脚本中的函数。

typescript脚本

1.单例模式

单例脚本

const {ccclass, property} = cc._decorator;

@ccclass
export default class Singleton extends cc.Component {

   

   static readonly instance:Singleton=new Singleton();

  
    testA()
    {
        console.log("hello");
    }
   
}

这样写只能在这个变量声明的后面直接给instance赋值一次,不能在onLoad里面赋值。好处是单例只会被new和赋值一次。

测试脚本:

const {ccclass, property} = cc._decorator;
import Singleton from './Singleton';
@ccclass
export default class Hello extends cc.Component 
{

  
   onLoad()
   {
     
     Singleton.instance.testA();
   
   }

2.通过Getcomponent 方式

脚本在主相机上挂着

const {ccclass, property} = cc._decorator;
import Singleton from './Singleton';
@ccclass
export default class Hello extends cc.Component 
{

   @property (cc.Label)
   lable1:cc.Label=null;

   onLoad()
   {
    
     let scr=cc.find('Canvas/Main Camera').getComponent(Singleton);
     scr.testA();
   }
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值