Skip to content

做点买卖

在村庄里,还有一个商店,可以买卖物品,就是store场景。

图 0

store场景你可以看到三个选项:

  • 购买药水(10金币/瓶)
  • 出售物品
  • 离开商店

购买药水出售物品 其实都是依赖于我们之前在首次战斗中提到的弹窗提示来实现的。

购买药水

购买药水使用直接弹窗提示,由玩家输入一个购买的数量。这样就可以让玩家选择要购买的药水数量。

同时,我们添加了两个条件检查:

  1. 金币检查:检查玩家的金币数量是否大于 10。
  2. 数值检查:检查玩家输入的值是否合法。

图 1

这样就避免玩家输入诸如 -10 这样的数字直接套现。

图 2

然后,再添加了两个触发效果:

  1. 扣除金币:扣除金币使用获得物品效果实现。设置获得数量为 -10*$value。这里的 $value 就是玩家输入的数值,-10 使之是扣除效果。
  2. 获得药水:获得药水也是使用获得物品效果实现。设置获得数量为 $value。同上。

TIP

在进行买卖设置时,要尤为注意数量的符号,莫要弄反了。

关于效果配置的更多内容,可以参考文档选项的效果

出售物品

出售物品则是使用弹窗提示中的物品弹窗。玩家在弹窗中选择自己背包中的物品进行出售。

图 3

这里配的是 选择物品及数量,表示的是弹出背包物品选择窗口,同时让用户选择数量。你要出售什么:则是弹出窗口的提示语。因此,将会在玩家触发选项时,弹出一个选择物品的窗口,玩家可以选择背包内的物品以及数量售卖获取金币。

图 6

关于弹窗提示的更多内容,可以参考场景的选项

而效果配置就涉及一个计算售卖价格的问题,物品的价格我们通过物品的属性进行配置。可售卖的物品都配置了 price 属性。就可以通过 $price$ 来引用物品的价格进行计算。

图 4

因此,我们只要配置效果获取物品,物品为金币,数量则为 $price$*$count。这里 $count 则表示弹窗提示时玩家选择的数量。

图 5

另外,我们还设置了一个物品属性的检查条件。当玩家选择的物品没有 price 属性时,就提示物品不可出售