【Unity】 基础交互入门(C#脚本互相调用的方法,含动态绑定脚本)

这篇具有很好参考价值的文章主要介绍了【Unity】 基础交互入门(C#脚本互相调用的方法,含动态绑定脚本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、单例模式

脚本A:
在需要被调用的类里这样写:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIControl : MonoBehaviour
{
    public static UIControl UIController;//创建静态对象,此时对象为空
    private void Awake()
    {
        UIController = this;//一定要在Awake里面初始化对象
    }
    public void switchBag()//这个方法就可以被调用了,方法一定用public修饰才能被访问
    {   
    }
}

脚本B:
在其他类里调用:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameControl : MonoBehaviour
{
    void myFunc(){
    	UIControl.UIController.switchBag();//这样就调用到了上个类的方法
    }
}

如果出现无法识别上下文的提示,检查一下以下问题:
1、两个脚本的命名空间是否一致,如果不需要的命名空间可以直接删除。
2、类名是否大写开头,且命名合法,且和文件名一致。
3、更新编译一下保存一下脚本,排除引用的脚本没保存编译的情况。

二、new 对象

脚本A:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlaceControl//工具类就不要继承MonoBehaviour了
{
    public void move(){
    }
}

脚本B:
实例化:new PlaceControl ()

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameManager : MonoBehaviour
{
	private PlaceControl placement;
	private Start(){
		placement = new PlaceControl ();
		placement.move();
	}
}

三、动态绑定脚本

脚本A:
需要被调用的类:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIControl : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
    }
    // Update is called once per frame
    void Update()
    {
    }
    void switchBag()
    {
    }
}

脚本B:
动态绑定并调用:文章来源地址https://www.toymoban.com/news/detail-610845.html


void getCard()
{
  //找到对象列表
   GameObject cardList = GameObject.Find("cardList");
   CreateCard(cardList);
}

void CreateCard(GameObject cardList)
 {
   //创建对象
   GameObject CardObj = new GameObject("card");
   //添加到对象列表
   CardObj .transform.SetParent(itemList.transform, false);
   //给对象绑定可视范围脚本
   CardObj .AddComponent<UIControl>();
   //触发方法
   CardObj .GetComponent<UIControl>().switchBag();    
 }

到了这里,关于【Unity】 基础交互入门(C#脚本互相调用的方法,含动态绑定脚本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LabVIEW于C#各自生成的DLL互相调用的方法

    1.LV调用C#生成的DLL (1)C#类库代码原型 Debug生成的DLL: LV代码: 结果显示 2.C#调用LabVIEW生成的DLL: LV源码 VS2017添加LV生成的DLL 加入命名控件,加源码 运行结果:

    2024年02月16日
    浏览(55)
  • 【Unity】 基础交互入门(按钮点击事件的三种方法)

    1、在资源面板创建C#脚本 2、创建点击事件需要执行的代码(这里以loadMain为例),新增一个叫OnStartButtonClick的Public方法。 可以选择生成或者调试,从VS更新代码到Unity。 3、场景中创建Button和empty(生成空的GameObject) 4、将代码挂在刚刚的GameObject上(这里将GameObject重命名为

    2024年02月09日
    浏览(42)
  • flutter和android互相调用、android原生项目与flutter module之间的交互、如何在flutter module中使用原生的方法

    bridge.dart MainActivity.kt MainActivity中 Flutter中 android项目依赖flutter module的方式网上有很多,这里就不做讲解。主要说一下这种情况下android如何与flutter module之间进行方法的调用 踩坑:期初我是想让flutter module调用它内部中的.android文件夹下的原生代码。.android文件夹下有Flutter、

    2023年04月08日
    浏览(42)
  • unity调用其它脚本函数方法

       调用    

    2024年02月07日
    浏览(43)
  • Unity快速入门教程-创建并启用c#脚本

    提示:本篇文章主要提供新手入门学习,初次发文,多多指教 unity通过c#脚本构建项目逻辑关系,本篇介绍c#脚本创建,启用及其简单示例 提示:以下是本篇文章正文内容,下面案例可供参考 在Project窗口依次单击右键–Create–C#Script,创建脚本,假设命名为【Test】。

    2024年02月11日
    浏览(40)
  • Unity入门(三)——VS Code配置与C#脚本编写

    这回我们将使用VS Code编写我们的第一个程序并在Unity运行。 书接前文,在项目中点开“Exit-Preferences-External Tools”,确保外部脚本编辑器选择的是VS Code 然后回到项目,在下方的“Project”中右键空白处,创建一个C#脚本文件 此时可以在右侧看到该脚本的内容,此时需要检查类

    2024年02月07日
    浏览(36)
  • Unity Shader:常用的C#与shader交互的方法

      俗话说久病成医,虽然不是专业技术美术,但代码写久了自然会积累一些常用的shader交互方法。零零散散的,总结如下:   有时候我们需要改变ui的一些属性,从而实现想要的效果。通常UGUI上有如下属性,而我们想要改变,就需要获取到Material这个属性:   这里拿Image来举

    2024年02月14日
    浏览(25)
  • 【Unity】 基础交互入门(碰撞交互事件OnTriggerEnter和OnCollisionEnter)

    1、在场景中添加两个几何体(例如Cube和Sphere) 2、添加Rigidbody(刚体)component 点击Cube(正方体)对象,在面板找到这个按钮,添加component 搜索Rigidbody 默认状态下collider(碰撞)是被开启的。 3、创建C#脚本,增加OnTriggerEnter事件 4、将shpere(球体)设置为触发器,不需要添加

    2024年02月09日
    浏览(36)
  • 在Unity中挂载C#脚本的三种方法

    ①在Project(工程)窗口的某个文件夹中(也可以选择新建在Assets(资源根目录)中),然后单击鼠标右键,选择Create-C# Script 注意:扩展名在Unity编辑器中是隐藏的! ②然后再直接拖拽到Hierarchy(层级视图)你想要挂载的物体上 ①在Project(工程)窗口的某个文件夹中(也可

    2024年02月03日
    浏览(31)
  • ILRuntime是如何与Unity互相调用的

    一、ILRuntime的基本介绍 ILRuntime是一个跨平台CLR实现,它可以在多个平台上运行C#代码,包括Android、iOS、Windows、Linux等等。ILRuntime的实现方式是将C#代码编译成IL代码,然后在运行时通过JIT或AOT的方式将IL代码转换为机器代码,从而实现跨平台的效果。ILRuntime的主要功能包括热更

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包