Clickteam Fusion 2.5允许你在任意时刻创建多个对象,并让Fusion自动将它们链接为父对象和子对象。这意味着一旦创建完成,你可以给父对象或子对象下达相互跟随的指令,无论实例数量多少,它都会自动识别应该跟随哪个父对象或子对象。 父对象与子对象简介 Clickteam Fusion 2.5允许你创建对象“对”。当两个对象在同一事件中一起创建时,引擎会自动将它们“配对”为父对象和子对象。这使你能够在创建后的任意时刻引用其中一个对象,Fusion会自动识别应该指向哪个父对象或子对象。如果你在屏幕上有很多带有生命值条的敌人,这会很有用。你需要将生命值条(子对象)始终相对于敌人(父对象)进行定位。 我们将在下面的指南中介绍这部分内容,帮助你神奇地链接父对象和子对象,让你的游戏/应用开发更加快捷和轻松。 你可以在本指南中使用自己的图像,或者使用Clickteam Fusion 2.5提供的库图像……如果你没有安装这些库,可以从官方资源菜单获取。 设置游戏区域 首先,我们需要设置游戏区域。所以,创建一个新应用程序,然后打开库窗口。

在本地库 > 游戏 > 陆军中找到【Bsoldier 1】对象。将【Bsoldier 1】拖到游戏区域的任意位置。现在你应该能在我们的帧中看到这个士兵了。

现在,点击【Bsoldier 1】,我们需要更改该对象的一些属性。首先,我们需要取消勾选【开始时创建】,因为对于父子对象,我们需要通过事件编辑器手动创建它们。

完成此操作后,点击文件菜单(插入>插入新对象),然后插入一个计数器对象。插入计数器对象后,还需要在其属性中取消勾选“创建于开始时”。 现在,将计数器对象的类型更改为水平条,点击颜色选项卡并选择绿色。操作步骤如下...

现在,我们已经设置好了游戏区域。还需要做最后一件事:为我们的Bsoldier1对象添加一个新的可修改值,这将作为敌人的【生命值】。点击Bsoldier1对象,在其属性中点击【可修改值】选项卡,然后在【可修改值】下方点击【新建】。当插入【可修改值A】后,双击标签【可修改值A】,并将其重命名为【health】。

我们也给敌人添加一些移动,我们将为其分配【弹跳球移动】,速度设为15。

现在我们的游戏区域已经设置完成。我们有了敌人角色、生命值条,以及正确的属性和数值设置。所以,如果你现在运行应用程序,会发现什么都不会发生,甚至屏幕上连一个敌人都没有。这时候我们就要进入事件编辑器,让魔法发生了。 事件实现 进入事件编辑器后,我们需要创建一些简单的事件。假设当我们按下空格键时,生成一个敌人并将其随机放置在屏幕上。同时,我们会为这个敌人创建专属的生命值条,无论敌人移动到哪里,生命值条都会跟随他。 那么,首先我们来创建一个条件:当【用户按下空格键】时,生成一个Bsoldier1,然后在场景中为其设置随机的初始位置。

在创建对象对话框中点击Bsoldier1,并在图层1上选择0,0位置。

点击确定。现在,在同一事件中,将鼠标悬停回创建对象并右键创建一个计数器对象。对计数器对象执行上述相同操作。完成后,在同一事件中,将鼠标悬停到Bsoldier1槽并右键(位置>设置X坐标),然后输入“64+Random(575)”。

像这样……

点击确定后,对Y坐标执行相同操作。将鼠标悬停在Bsoldier1上,右键点击(位置 > 设置Y坐标),并将其设置为64 + (Random(400)。 我们需要将X/Y坐标都规定为64,因为我们希望敌人在帧区域内生成。为了防止敌人离开帧区域,我们设置了一个最小边界,在这个例子中就是64。 现在基础设置已经完成,让我们在此基础上继续添加内容。Fusion将创建一个敌人对象、一个生命值条,并为Bsoldier1对象赋予随机的起始位置。接下来,我们来设置一些边界:如果Bsoldier1对象离开游戏区域,就让它反弹以保持在区域内。

这将阻止敌人离开游戏区域。 按F8键测试运行应用程序。 现在你可以看到,按空格键可以生成新敌人,敌人会在游戏区域内随机位置出现,但生命值条不可见且不在周围。 这就是Clickteam Fusion和自动配对发挥作用的地方。让我们创建一个新事件。 创建一个新条件,在特殊对象下选择始终。然后将鼠标移至计数器对象,右键点击并选择位置>选择位置...

在下一个界面中,你将看到游戏区域。点击【Bsoldier1】对象,然后将方块直接移到他的头顶上方,操作方式与此类似。

所以你要告诉Fusion始终将计数器的位置设置为Bsoldier1的当前位置,但分别减去26和55。点击确定。 现在在同一个事件中,将鼠标悬停回计数器对象,右键点击并选择【设置计数器】。表达式编辑器会弹出,询问你要将计数器设置为什么值,我们希望计数器表示Bsoldier1的生命值,所以右键点击Bsoldier1并选择(数值>数值A至M>获取生命值)。

点击确定关闭表达式编辑器。 现在,我们创建Bsoldier1敌人时,从未为其分配任何初始生命值。因此,它的当前生命值被设为0。我们需要返回到创建敌人对象的事件,在Bsoldier1下方右键点击并选择

可变值 > 设置。在表达式编辑器中输入100并点击确定。 因此,在我们按下空格键的事件中(如上所示),程序将创建Bsoldier1,创建生命值条,并将Bsoldier1的初始生命值设置为100。

在事件3(上述)中,现在将【始终】把计数器设置到Bsoldier1上方的位置,并将生命值条数值设为玩家当前的生命值。 现在我们只需要一种对敌人造成伤害的方法,这样就能完整地看到我们的系统运行情况。创建一个新事件,条件为“用户点击对象”。

当出现【选择对象】对话框时,点击Bsoldier1。 创建新事件后,将鼠标悬停在Bsoldier1对象上,右键点击并选择【可修改值>从中减去】。

当弹出表达式编辑器时,只需输入10。点击确定。 现在,当我们用鼠标点击任何敌方士兵时,它的生命值将减少10点。 现在我们只需要最后一个事件,即检测敌方生命值为0时将其销毁。现在就来操作。创建一个新事件,条件为“比较可变值”。你可以通过点击“新建条件”,右键点击Bsoldier1,选择“可变值”>“比较其中一个可变值”来实现。当弹出表达式编辑器时,选择“小于或等于”并输入0...

点击确定。现在,将鼠标悬停在Bsoldier1对象上,右键点击并选择【销毁】。 按F8键,运行应用程序。按空格键可在随机位置创建新敌人,观察其头顶持续显示的生命值条,点击敌人可减少其生命值。当生命值降至0或以下时,敌人将被销毁。 总结 在本指南中,我们了解了Fusion如何以类似父子关系的方式将对象链接或“配对”在一起。只要在同一事件中创建两个对象,它们就会自动配对,这意味着在后续任何事件、条件或表达式中,它们都能自动与正确的对象协同工作。 如果不在同一事件中创建两个对象,Fusion将不会自动配对它们,这时就需要手动进行配对。这是一种非常高效且节省时间的方法,尤其在需要使用父子对象的游戏开发中。这是一个非常实用的功能,值得在未来的项目中学习和使用。




换一换 




















