设为首页收藏本站

赛盟中国KZ玩家社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 483|回复: 5

[发布] 瑞教你制作多层电梯

[复制链接]
发表于 2016-12-21 11:21:30 | 显示全部楼层 |阅读模式
本帖最后由 honwenle 于 2016-12-21 19:42 编辑

我又回来了,最近偷偷做公司地图,发现电梯有点难实现,网上找了一下教程都是直上直下的电梯,源文件也找不到一个,只能自己思考,模拟做了一个,有需要的朋友可以参考参考。


实体清单:(实体的具体用法不赘述,不懂可以查阅天书)
func_button
multi_manager[f1,f2,f3](每一层的事件转发器)
trigger_changetarget[c1,c2,c3](改变电梯的目标为当前层)
func_train(一部电梯)
path_corner[p1,p2,p3](每一层电梯停靠的路径点)
multi_manager[daoda1,daoda2,daoda3](每一层到达后的事件触发器)
func_door[door1,door2,door3](每一层的电梯门)


基本思路:
每一层门外有一个按钮,触发对应的multi_managermulti_manager以此触发trigger_changetargetfunc_train
先由对应的trigger_changetarget去改变电梯的目标为当前层的path_corner,比如c1改变dianti的目标为p1
再触发func_train,此时触发,电梯会朝着你当前按下按钮的楼层移动;
当电梯到达指定的path_corner,触发multi_manager,如到达2楼,p2触发daoda2daoda2触发dianti停止,开门;

tip(Q:为什么要daoda2触发电梯停止?A:因为如果不这样,虽然电梯看上去已经停止,但是状态还是运动(因为还没到达Path的终点,我们这个自由的电梯是没有终点的),导致的问题就是下一次呼叫电梯需要按两次开关)

翻了一些网上的资料,关于这个的很少,有个文章写的挺具体,但是没源文件,而且实现比我这个麻烦多了,用到的实体也多得多。要参考的可以点我

2016-12-20



这是昨天晚上写的,结果写完了提交,论坛挂了,今天才发出
=========================分割线==========================
今天发现一个问题,电梯运行中如果呼叫其他楼层或者其他被呼叫,电梯会停在半空;
解决了一下,链接已经更新
加入了trigger_relay和两个trigger_changetarget,本来直接触发dianti的地方触发这个中继器,再出发第一个trigger_changetarget,将中继器的目标改成其他(比如我的例子里是game_text屏幕输出“电梯运行中”),到达楼层后触发第二个trigger_changetarget,将中继器的目标再改回dianti,这样就不会乱啦

2016-12-21




本帖子中包含更多资源

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

x
发表于 2016-12-21 13:14:05 | 显示全部楼层
群主你真帅
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-21 19:43:49 | 显示全部楼层

有兴趣可以实践一下哈,有什么问题和建议都可以交流一下
回复 支持 反对

使用道具 举报

发表于 2016-12-27 10:53:37 | 显示全部楼层
honwenle 发表于 2016-12-21 19:43
有兴趣可以实践一下哈,有什么问题和建议都可以交流一下

我已经入你的裙了
回复 支持 反对

使用道具 举报

发表于 2017-1-8 03:24:39 | 显示全部楼层
瑞还在玩啊?
回复 支持 反对

使用道具 举报

发表于 2017-2-6 04:08:27 | 显示全部楼层
支持,来看看你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表