Dungeon Mizarka 007

利用Zenject进行架构端的调整是持续性的,有些功能也会因为之前是以Hard Code的方式完成而必需做些微的修正。在此同时,战斗系统的实际制作也即将要展开。

战斗UI Part02

承接Part01的後续发想,初版的战斗版面在设计上如下,玩家按下PA按钮物理攻击(Physical Attack)後

会出现瞄准攻击介面

画面上方的计时条累积到一定时间後,不论是否有选择目标,都会进行攻击。若是要取消攻击,则需要在累积时间条没有完成前迳自按下Cancel进行取消动作。也就是说在此的设计考量预设行为是一但按下了物理攻击就会行动,若是误触或是有其它考量,则要自行取消。

为了不让玩家每次攻击都要等上一段累积时间(又或是倒数时间)才能攻击,设计上采用的想法是一但玩家点到了画面,则攻击视为要被执行,也就是会直接展开。攻击有可能是复数的,待玩家玩成所有的点压动作,又或是时间累积结束,则会展开攻击。

画面左下方但在HP条上面的那个暂代为3的UI,则是气力值,每次解决一只敌人角色是都会取得一定量,累积一定量後会增加一段。目前UI上显示是三段,而配合攻击进行,则会有某些加乘的效果(待後续发想)。

除了物理攻击外,当然也会有魔法攻击。实际上玩家控制的角色是被设定成一个不太会用魔法的新手魔法师,魔法的使用势必是不可或缺的。只是魔法的设计还处於发想阶段,为了将复杂度降低到可以制作的阶段,大概只会放入最基本的三类型魔法,火、冰和雷(有可能时间因素而改为後补的类型)。

战斗实际制作Part01

采用了FP视角,怪物也有前後不一样的站位,最直觉的方式就是利用Raycast进行。让站在前面的怪物会被先行受击,而站在後面的怪物则会等到前面怪物被排除後,才能被攻击到。实际上,一但利用了Raycast,加进贯穿这样的攻击,不论前後排都会受到攻击也变得可行。

机制本身很单纯,不过加上了玩法之後规则就变得有些复杂了。首先是能攻击到的范围要纳入考量,比方说手中的武器只能攻击一格,自然地是指前方一格,这时利用Raycast,会进行其距离限制。而Raycast会有碰到复数敌人,单一敌人和没有任何敌人的可能性。

复数和单一敌人处理的方式,在没有贯穿的考量下,直接拿取最接近Raycast的一个。而没有任何敌人的情况下,必需表现出攻击Miss的提示。

为了要能够利用Raycast,要先进行不少前置作业,首先是要能够利用Touch进行点选。找到了这篇文章讨论了EnhancedTouch API,之前没有试过,趁这时来了解怎麽使用。

如果利用Input System,设定Event System是很重要的一环

Finally, change Pointer Behavior to Single Unified Pointer.

虽然用了EnhancedTouch API拿取按下的点并送到VS端,但目前不明原因导致会有多个点资料在同一个Update送到VS端(可能有些设定没有注意到)。

先暂时拿到这些点後利用ScreenToWorldPoint转成World并产生暂代的方块看其位置

在场景里看到的方块

有了这些方块後才能正式的利用Raycast。也就是会利用Raycast穿过这些方块所代表的中心点。

补充资料

如果不是用EnhancedTouch,可以用New Input System里的Touch,又或是直接利用uGUI。事实上,EnhancedTouch有些使用上的不熟悉所造成的bug,若一直没有找到问题,很有可能会调整成New Input System给的Touch。


<<:  Day 14 储存宝石:S3是什麽? S3 vs EBS 方案比较

>>:  Day06 - 监控 Sidekiq 有无正常运作(或执行超过多久)

[Tableau Public] day 1:想成功就从意志力开始吧~

某天在FB上滑着滑着,看到了iT邦帮忙的铁人赛活动,觉得…!我想要挑战以前未成功的遗憾,甚麽遗憾呢…...

NetSuite Order to Cash flow - Create Sales Order

Order to Cash 所有 ERP 最基础的功能, 主要用来表现从 订单 -> 收到款项...

绘图 - 即时 tick 资料

以下内容,都是 shioaji 的官网文件的内容,只是加了一些我自己的理解,感谢永丰提供这麽完整的 ...

Day28 - 轻前端 Component - 多个 jQuery UI Selectmenu 连动

这篇套用并调整 Day26 的 jQuery UI Selectmenu Vue Component...

[Day11]用ISO打造甜蜜的家:育儿计画篇

昨天我们看完 ISO 27001:2013 版的架构,我第一次接触的时候就是一脸问号。 这对没有稽...