如何为基于FlashPunk的游戏开发UI组件
第一步:介绍
许多flashpunk的用户在为他们的游戏制作UI时会遇到问题。没有简单的方法来制作按钮和其他交互式元素,如文本框或复选框。在FlashPunk中,没有按钮类。
那似乎是一种约束,是的,很多新手一开始会觉得很困惑。但这背后是有原因的。每个游戏都倾向于有一个独特的用户界面,它的设计取决于它的机制或者他们自己的主题。你不会看到任何有默认窗口按钮的好游戏!
所以本教程将向您展示如何在FlashPunk中为您的游戏制作自己的UI元素,赋予它们行为,并展示一些技巧,使它们的绘图部分拥有最有用的技术。但是记住,你的每一个游戏都会有不同的艺术风格的用户界面!
因为这个教程很长,所以分成了几个部分。这第一部分将介绍如何使每个组件没有眼睛糖果和成本。后面我们会介绍。
为了用我们的UI编写示例SWF,我们将使用FlashPunk,因为这是一个FlashPunk教程,而FlashDevelop是IDE。如果你觉得用其他IDE更方便,比如FlashBuilder,你已经可以用了,只要按照教程在细节上做调整就可以了。
对于这个教程,你需要有一些FlashPunk的知识。这不是一个关于FlashPunk的综合教程,而是一个FlashPunk的UI教程。如果你不了解FlashPunk,可以看看Activetuts+上的FlashPunk教程索引,或者在FlashPunk的官网上找教程。
步骤2:创建一个新项目。
打开FlashDevelop并单击项目-& gt;新建项目打开新建项目窗口。
选择动作脚本3 > AS3项目.在项目的名称栏中,添加“FlashPunk UI”。在“存储位置”列中,选择要存储的文件夹。默认选择“创建项目目录”,然后单击“确定”。
第三步:下载最新的FlashPunk
进入FlashPunk的官方网站主页FlashPunk.net,点击导航栏上的下载按钮。然后点击页面顶部的“下载FlashPunk”链接。它会带你到GitHub下载页面。点击“Download.zip”按钮(或“Download.tar.gz ”,如果您选择此格式)并将文件保存在您知道的位置。
步骤4:将FlashPunk添加到我们的项目中。
现在我们已经下载了FlashPunk,我们必须将它添加到我们的项目中。我们只需要像往常一样将FlashPunk zip中的“net”文件夹复制到项目中的“src”文件夹中。
第五步:开动发动机。
现在我们需要在我们的文档类中初始化FlashPunk,这样我们就可以控制我们的游戏,就像在每个FlashPunk游戏中一样。我们通过用document类扩展Engine类并回调super所需的参数来实现这个目标。我们设置一个550x400像素的窗口。不要忘记右键单击您的项目,并在属性中将大小设置为550x400像素。
包裹
{
导入net . flash punk . engine;
公共类主扩展引擎
{
公共函数Main():void
{
超级(550,400);
}
}
}
复制代码
第六步:创造我们的世界
现在,我们需要创建一个FlashPunk世界来加载我们的实体对象。我们将在这里创建每个UI组件,以便我们可以测试它们。在现实世界中,我们菜单的每一个状态都会对应这个不同的世界,游戏也是如此。所以我们将在“src”文件夹中创建一个包含World类的类,名为TestWorld。
包裹
{
导入net . flash punk . world;
公共类TestWorld扩展了世界
{
公共函数TestWorld()
{
super();
}
}
}
复制代码
然后,我们将告诉我们的引擎类在我们的测试环境中重载init函数。不要忘记从网上下载。在Flashpunk中加载FP类!
覆盖公共函数init():void
{
super . init();
FP.world = new TestWorld
}
复制代码
步骤7:按钮实例
我们需要做的第一件事是创建一个按钮组件。我们未来要构建的每一个组件都是一个实例,这是我们在FlashPunk中创建世界中一些组件的基本步骤。首先,我们将在“src”文件夹中创建一个新文件夹,但是实例将被组织起来。我们将这个文件夹命名为“ui ”,并用它来存储我们所有的组件。
然后我们创建一个包含实体的按钮类。这个包被命名为ui,因为它位于ui文件夹下。
包用户界面
{
导入net . flash punk . entity;
公共类按钮扩展实体
{
公共功能按钮(x:数字=0,y:数字=0)
{
super(x,y);
}
}
}
复制代码
现在,我们需要将这个按钮的实例添加到我们的世界中,这样我们就可以看到它正在运行。当我们完成它时,它是一个看不见的实例。所以将其添加到我们的TestWorld类中,然后不要忘记加载Button类并导入ui。按钮,代码如下:
覆盖公共函数begin():void
{
super . begin();
添加(新按钮(10,10));
}
复制代码