站内搜索

搜索
热搜: 活动 交友 discuz

iFAction 世界需要你的想象力!

[小技巧] 简单方法制作横版推箱子效果

 

20

主题

209

帖子

1365

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1365

iFAction官方导师

发表于 2019-8-2 14:48:26 | 显示全部楼层 |阅读模式
如何制作横版推箱子效果

解谜,横版过关等等很多类游戏中,推箱子非常常见,那么用iFAction怎么制作推箱子呢?



1、在地图上绘制一个可以当作箱子的交互块,设置它拥有重力,不可穿透(直接在【设置】——【交互块】中为实心块勾选拥有重力,实心块就符合标准了)。

2、为这个箱子设置内部触发器,如下图:


简单讲解一下思路,当我们朝向右边并触碰箱子的时候,相当于人站在箱子的左边,这个时候箱子和人接触就相当于人推动了箱子,那么箱子就会向右边移动,朝左同理。
而当角色的Y坐标与箱子的Y坐标不等的时候,角色可能站在箱子上,或顶着箱子,这个时候箱子是不应该动的,所以我们用变量获取了箱子和角色的Y坐标,用来锁定二者的位置,唯有当箱子和角色处于同一水平线上的时候,箱子才会移动。

当然,可以在这中间加入为角色替换推箱子动作这样的指令,并且调节移动的距离,来让效果更加逼真。

其实到这里推箱子的教程就结束了,只有两步,很简单吧。



但是只会推箱子好像也没有什么小狗子用,这个时候我们可以配合很多玩法,为这个箱子做一些条件分歧判定。

比如,我们可以在后面加一个条件分歧,当箱子的x坐标等于某一个格子的位置的时候,设置某个门打开。



又比如,我们可以为某个敌人设置一个开关,当这个开关开启的时候,它就停止攻击,就比如一个喷火陷阱。

然后我们用同样的方法,在箱子内部触发器中加入条件分歧,让箱子在压住喷火器的时候,它停止攻击。



又或者为每一个箱子设置条件分歧,当所有箱子都到达它应该在的位置的时候,本关通关,这样就可以制作推箱子游戏了。
又或者我们推的不是箱子,而是书柜,推动后书柜后面露出一扇门balabalabala……

总之,只要你可以充分利用坐标位置这个东西,通过类似的思路可以实现非常多的效果。

好了,这个技巧就这么多。
那么这里有一个小问题,如果在不考虑人物动画上下朝向问题的前提下,如何制作常规意义上的推箱子游戏呢?

嗯,思考一下吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

15

主题

92

帖子

2608

积分

iF城镇

Rank: 6Rank: 6

积分
2608

摩点支持者

发表于 2019-8-2 18:50:06 | 显示全部楼层
常规四方向推箱子的话我就直接魔改弹跳块的方法了,然后重复利用,用工具直接放,打勾就行了

点评

666666  详情 回复 发表于 2019-8-2 21:44

38

主题

201

帖子

1795

积分

iF城镇

次元文明-Original Sin

Rank: 6Rank: 6

积分
1795

摩点支持者灌水达人继续加油哦!

QQ
发表于 2019-8-2 19:38:24 | 显示全部楼层
膜拜两位大佬
灾难性更新,我们修复了一些bug,并创新型的增加了另外一些bug

20

主题

209

帖子

1365

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1365

iFAction官方导师

 楼主| 发表于 2019-8-2 21:44:28 | 显示全部楼层
shuangyou 发表于 2019-8-2 18:50
常规四方向推箱子的话我就直接魔改弹跳块的方法了,然后重复利用,用工具直接放,打勾就行了 ...

666666

1

主题

8

帖子

205

积分

iF平原

Rank: 4

积分
205

摩点支持者

发表于 2019-8-7 15:10:18 | 显示全部楼层
如果想要推的同时有一个推箱子的动作又该怎么弄呢?

点评

这个需要稍微用到一点点脚本,在箱子的触发器里写这样一段事件 [attachimg]671[/attachimg] 然后在外面新建一个可以直接执行的触发器,写上这样的事件就可以了。 [attachimg]672[/attachimg]  详情 回复 发表于 2019-8-9 16:15

20

主题

209

帖子

1365

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1365

iFAction官方导师

 楼主| 发表于 2019-8-9 16:15:02 | 显示全部楼层
琉璃潇湘 发表于 2019-8-7 15:10
如果想要推的同时有一个推箱子的动作又该怎么弄呢?

这个需要稍微用到一点点脚本,在箱子的触发器里写这样一段事件

然后在外面新建一个可以直接执行的触发器,写上这样的事件就可以了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

8

帖子

205

积分

iF平原

Rank: 4

积分
205

摩点支持者

发表于 2019-8-12 08:23:11 | 显示全部楼层
moon 发表于 2019-8-9 16:15
这个需要稍微用到一点点脚本,在箱子的触发器里写这样一段事件

然后在外面新建一个可以直接执行的触发器 ...

谢谢大佬指点

0

主题

3

帖子

35

积分

iF元素粒

Rank: 2

积分
35

摩点支持者内测用户

发表于 2019-8-15 20:16:18 | 显示全部楼层
moon 发表于 2019-8-9 16:15
这个需要稍微用到一点点脚本,在箱子的触发器里写这样一段事件

然后在外面新建一个可以直接执行的触发器 ...

谢谢大佬

2

主题

4

帖子

28

积分

iF元素粒

Rank: 2

积分
28
发表于 2020-8-19 11:44:35 | 显示全部楼层
dalao,我想咨询一下……
之前我在Unity里也实现过类似的功能,然后在实现这个功能的时候我加入了“靠近箱子的时候,点击操作键后才会抓取箱子,让箱子根据玩家的移动方向移动”这个操作。
请问这样的功能在Ifaction里要如何实现呢?
以及,如果要推动的物体大于一个交互块,那该怎么实现?

点评

这个帖子太早了哈,那个时候我还没做特殊交互块这个mod,现在直接用这个mod会很方便实现推箱子的效果,包括点击操作键才会抓取箱子和平滑的推动效果。 如果用触发器的话,需要前置一个碰触并点确定键的触发条件。  详情 回复 发表于 2020-8-20 16:58

20

主题

209

帖子

1365

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1365

iFAction官方导师

 楼主| 发表于 2020-8-20 16:58:04 | 显示全部楼层
托尔弗的面具 发表于 2020-8-19 11:44
dalao,我想咨询一下……
之前我在Unity里也实现过类似的功能,然后在实现这个功能的时候我加入了“靠近箱 ...

这个帖子太早了哈,那个时候我还没做特殊交互块这个mod,现在直接用这个mod会很方便实现推箱子的效果,包括点击操作键才会抓取箱子和平滑的推动效果。
如果用触发器的话,需要前置一个碰触并点确定键的触发条件。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
QQ群:977585123
iFAction下载
Windows客户端
反馈
意见建议
iFAction

iFAction

京ICP备15053274号-1

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.