如何制作横版推箱子效果
解谜,横版过关等等很多类游戏中,推箱子非常常见,那么用iFAction怎么制作推箱子呢? 1、在地图上绘制一个可以当作箱子的交互块,设置它拥有重力,不可穿透(直接在【设置】——【交互块】中为实心块勾选拥有重力,实心块就符合标准了)。
2、为这个箱子设置内部触发器,如下图:
简单讲解一下思路,当我们朝向右边并触碰箱子的时候,相当于人站在箱子的左边,这个时候箱子和人接触就相当于人推动了箱子,那么箱子就会向右边移动,朝左同理。 而当角色的Y坐标与箱子的Y坐标不等的时候,角色可能站在箱子上,或顶着箱子,这个时候箱子是不应该动的,所以我们用变量获取了箱子和角色的Y坐标,用来锁定二者的位置,唯有当箱子和角色处于同一水平线上的时候,箱子才会移动。
当然,可以在这中间加入为角色替换推箱子动作这样的指令,并且调节移动的距离,来让效果更加逼真。
其实到这里推箱子的教程就结束了,只有两步,很简单吧。 但是只会推箱子好像也没有什么小狗子用,这个时候我们可以配合很多玩法,为这个箱子做一些条件分歧判定。
比如,我们可以在后面加一个条件分歧,当箱子的x坐标等于某一个格子的位置的时候,设置某个门打开。 又比如,我们可以为某个敌人设置一个开关,当这个开关开启的时候,它就停止攻击,就比如一个喷火陷阱。
然后我们用同样的方法,在箱子内部触发器中加入条件分歧,让箱子在压住喷火器的时候,它停止攻击。 又或者为每一个箱子设置条件分歧,当所有箱子都到达它应该在的位置的时候,本关通关,这样就可以制作推箱子游戏了。 又或者我们推的不是箱子,而是书柜,推动后书柜后面露出一扇门balabalabala……
总之,只要你可以充分利用坐标位置这个东西,通过类似的思路可以实现非常多的效果。
好了,这个技巧就这么多。 那么这里有一个小问题,如果在不考虑人物动画上下朝向问题的前提下,如何制作常规意义上的推箱子游戏呢?
嗯,思考一下吧。
|