FancyMenu Wiki/自定义菜单背景:修订间差异

(创建页面,内容为“== 关于 == 你可以使用FancyMenu编写你自己的自定义背景拓展模组,而且你可以在布局中使用它们。 重要:Menu Background API只在FancyMenu v2.6.2+可用! == 准备开发环境 == 请参阅 准备工作区。 == 添加菜单背景 == 每一个菜单背景都系要两个类。 第一个是<code>MenuBackgroundType</code>。 这个是你的背景类型(比如已经存在的动画,或是全景…”)
 
 
=== 创建字符串模式背景 ===
输入字符串模式下的<code>MenuBackgroundTypes</code>从一个输入字符串中快速创建<code>MenuBackground</code>实例。
 
这些实例并不会想普通模式会被储存下来,而是每次布局被加载时新的实例也会被创建。
==== MenuBackground Class ====
创建一个<code>MenuBackground</code>的新子类并取一个合适的名字
 
接下来我会给我的示例类起名为<code>ExampleMenuBackgroundForInputString</code>
 
这里有一些需要特别注意的事项。
=====构造方法(Constructor)=====
和普通模式不一样,你不需要为你的背景整一个唯一的标识符,因为它们并不会被储存下来。在输入字符串模式下,你为<code>MenuBackground</code>实例使用什么标识符基本上并不重要。
 
当然,这里仍然可以在构造上设置变量。
<syntaxhighlight lang="java">
public ExampleMenuBackgroundForInputString(@Nonnull MenuBackgroundType type, String imagePath) {
//Identifiers aren't really used for backgrounds that don't get registered to a type (because the type uses the input string),
 
}
</syntaxhighlight>
复制代码
=====onOpenMenu()=====
 
onOpenMenu()
这个方法对于输入字符串模式的背景没用,因为在每一次加载菜单时总会创建新的实例,所以这没啥可重置的。
<syntaxhighlight lang="java">
@Override
public void onOpenMenu() {
//所以在使用输入字符串模式时你不需要重置。
}
</syntaxhighlight>
复制代码
=====render()=====
调用此方法来渲染你的菜单背景实例。
 
render()
调用此方法来渲染你的菜单背景实例。
应该指我解释一下在这里做什么,对吧?
<syntaxhighlight lang="java">
//Here you will render the background instance.
//在这里你可以渲染背景实例。
 
}
</syntaxhighlight>
复制代码
=====完整样例类=====
 
完整的<code>MenuBackground</code>示
<syntaxhighlight lang="java">
完整的MenuBackground示例。
package de.keksuccino.fancymenu.api.background.example.with_input_string;
 
}
}
</syntaxhighlight>
复制代码
====MenuBackgroundType Class====
 
MenuBackgroundType Class
创建一个MenuBackgroundType的新子类并给它取合适的名字。
接下来我会将我的示例背景类型类命名为ExampleMenuBackgroundTypeWithInputString。
复制代码
 
====注册菜单背景====
你就快完成了
现在你只需要在游戏加载时把你的MenuBackgroundType注册到MenuBackgroundTypeRegistry.
维护员、​界面管理员、​巡查员、​监督员、​小部件编辑者
3,462

个编辑