系列文章目录
unity工具
文章目录
- 系列文章目录
- 👉前言
- 👉一、效果如下
- 👉二、使用步骤
-
- 👉2-1、创建接口
- 👉2-2、创建具体的可交互物体类 Door(门,实现 IInteractable 接口)
- 👉2-3、创建另一个具体的可交互物体类 Chest(宝箱,同样实现 IInteractable 接口)
- 👉三、应用
- 👉壁纸分享
- 👉总结
👉前言
假设在一个游戏世界里,有不同类型的可交互物体,比如门(Door)和宝箱(Chest),当玩家靠近并按下交互键时,它们会执行各自特定的交互行为。我们通过定义一个接口来规范这些可交互物体的交互行为,然后让具体的物体类去实现该接口。
接口方法的本质是抽象的
在 C# 中,接口中的方法本质上就是抽象方法。接口定义了一组方法签名(包括方法名、参数列表、返回类型),但没有方法体,这符合抽象方法的定义。
与抽象类中抽象方法的区别
虽然接口方法和抽象类中的抽象方法都有抽象的性质,但它们有一些不同点。抽象类可以包含字段、非抽象方法、构造函数等,而接口通常只包含方法签名、属性签名、事件签名和索引器签名。
接口方法的实现要求
对于接口中的方法,所有实现该接口的类都必须完整地实现这些方法。
博客将会介绍抽象类的方法。希望这篇博客对Unity的开发者有所帮助。
大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
欢迎点赞评论哦.下面就让我们进入正文吧 !
完整例子代码已放在GitHub上面
提示:以下是本篇文章正文内容,下面案例可供参考
👉一、效果如下
完整例子代码已放在GitHub上面
unity接口的实现应用
👉二、使用步骤
完整demo例子如下:
demo下载地址
👉2-1、创建接口
首先创建接口 IInteractable(定义可交互对象的交互行为规范),创建一个带参数的一个不带参数的
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 定义可交互接口,规定了Interact方法,所有实现该接口的类都要实现此方法来定义具体交互行为
public interface IInteractable
{
//不带参数的接口
void Interact();
//带参数的接口
void Interact(int intSpeed);
}
👉2-2、创建具体的可交互物体类 Door(门,实现 IInteractable 接口)
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Door : MonoBehaviour,IInteractable
{
public bool isOpen = false;
public Animator animator; // 假设门有对应的动画组件来控制开关动画
public void Interact()
{
isOpen = !isOpen;
//animator.SetBool("IsOpen", isOpen);
Debug.Log(<