[Godot] 制作并发布插件

前言

我们可以在Godot中使用插件来方便我们开发游戏,那么插件怎么制作呢?接下来我会简单的教大家制作插件的流程,以及如何发布


制作流程

创建插件

点击项目-项目设置-插件 来打开插件面板,点击右上角创建新插件,然后根据自己的需要填写信息,然后点击创建

创建插件后,在res://addons里面会多出来新建的插件文件夹,我们需要在插件面板启用插件

打开我们场景的插件脚本

创建插件会得到两个文件,插件名.gd(插件脚本),plugin.cfg(插件说明)

@tool
extends EditorPlugin


func _enter_tree() -> void:
	# Initialization of the plugin goes here.
	pass


func _exit_tree() -> void:
	# Clean-up of the plugin goes here.
	pass

 第一行的@tool表示该脚本会在编辑器模式下运行,如果没有 @tool,该脚本只会在游戏运行时执行

第二行表示这是继承 EditorPlugin,也就是继承自插件类

下面的两个函数是在该插件启用和禁用时所调用的函数

自定义节点

现在我们要创建一个自定义节点,可以编写下面这段代码

@tool
extends EditorPlugin

func _enter_tree() -> void:
	var icon = get_editor_interface().get_editor_theme().get_icon("Node2D", "EditorIcons")
	add_custom_type("CustomNode", "Node2D", preload("res://addons/插件文件夹/src/script.gd"),icon)
	pass


func _exit_tree() -> void:
	remove_custom_type("CustomNode")
	pass

其中,icon是获取图标的,行代码会获取到Node2D节点的图标

add_custom_type方法是创建自定义节点的,在禁用插件的时候需要把这个自定义节点移除

add_custom_type(自定义节点名,继承自哪个节点,该自定义节点绑定的脚本,图标)

 我们创建src文件夹,在里面建造我们指定的脚本,现在我们可以创建自定义的节点了

如果没有找到自定义节点,可能是没有加载出来,在插件面板里面开关一下插件就好了

接下来我们可以编写节点的脚本,我给大家列出来几种常用的声明编辑器面板变量的代码

@tool    //别忘了添加
extends Node2D

@export var a : int = 10
@export_category("name")
@export var b : float = 10
@export_group("item")
@export_range(-1,1,0.01) var c : float = 0
@export var d : Texture
@export var e : Color = Color(1,1,1)
...

在编辑器里面的表现是这样的

如果想让变量在鼠标悬停的时候显示描述,我们可以在变量上一行用##来编写注释,例如

##This is a
@export var a : int = 10

总之,大家可以根据自己的需要来编写脚本代码,接下来我将教大家如何发布自己的插件


发布插件

 我们可以访问https://godotengine.org/asset-library/asset来浏览插件

点击Submit Asset来提交我们自己的插件

填写信息,其中,协议可以选择MIT开源协议,我们需要把文件托管到GitHub,然后填写链接即可

具体注意事项请查看Godot的文档链接:

提交资源到资产库 — Godot Engine (4.x) 简体中文文档

注意填写的信息,比如图片链接的格式,我们要提交的插件zip文件,在提交的仓库不要选择GitHub,而是Custom,打包的插件文件夹从addons文件夹开始打包

我们提交的图片以及zip文件链接,应该是https://raw.githubusercontent.com/用户名/仓库名/分支名/路径/文件名​​​​​​​

 提交完成后,等待审批完成,成功之后就能在资源仓库里面访问了
如果有信息需要修改,我们也可以在My Assets里面找到要修改的插件,点击Edit进去修改,然后再次等待审核即可


总结

大家尽量制作完善,否则在发布后来回修改等审核也是件麻烦事

这里也给大家分享我开发的一个插件,LineMap2D,GitHub地址:LineMap2D at main · CN-GuoXiaoYao/GodotPlugin

这个插件基于Line2D,可以帮助大家简单的建造一些场景,还是有点bug,不太完善,大家根据需要随时修改及使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值