如何为基于FlashPunk的游戏开发UI组件

用FlashPunk创建你游戏的UI并不容易,因为它不包含任何UI组件,比如按钮和文本框。然而,这不是一个限制;这意味着你可以非常自由地制作你想要的UI。但是你必须先知道怎么做!本教程将教你如何制作一些经典的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));

}

复制代码