设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

能否做出那种角色离开后会自动恢复的按钮...

查看数: 2609 | 评论数: 6 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-6-3 05:02

正文摘要:

本帖最后由 璀璨的璨 于 2014-6-3 05:37 编辑 例: 需要在人物(或任意其他物件)踏在按钮上时,左边的门打开,直到人物(物件)离开按钮时,按钮恢复原状,门再次关闭。 也许可以调用本事件的坐标来实现,但 ...

回复

zhaoxun96 发表于 2014-6-5 10:45:46
moy 发表于 2014-6-3 11:20
自用,于是随手写了。注意设置为“在人物下方”以及“允许穿透(为了其他事件能推上去)”
...

嘛,主要是因为以前太贪心各种插脚本,结果不知道什么脚本冲突导致了很多问题,以后就有脚本恐惧症了.......
当然我是脚本废也是一大原因

点评

大概是吧……  发表于 2014-6-5 13:15
moy
大多数情况是建立在“对脚本不甚明了”的基础上,所以我觉得这没什么好吐槽的。至于“想证明事件也能行”的思想,会逐渐在制作中淡化吧。  发表于 2014-6-5 13:03
但是,如果要完成一个要求,用脚本更加清晰、简洁、易懂、无冲突的话,为什么要用事件呢?  发表于 2014-6-5 13:00
废话,我曾经也是  发表于 2014-6-5 12:59
moy
别这样。曾经我也是事件党(X  发表于 2014-6-5 12:58
zhaoxun96 发表于 2014-6-4 18:39:02
本帖最后由 zhaoxun96 于 2014-6-5 10:37 编辑

在地图做一个并行事件,弄四个变量ABCD,变量A赋值开关X坐标,变量B赋值开关Y坐标,变量c赋值角色X坐标,变量d赋值角色Y坐标
然后:条件分歧,当A=C时
::条件分歧,当B=D时 开关开启
::否则 开关关闭
:否则 开关关闭
我手里没VA,无法测试,但应该是可行的。
-----以下为6月5日的改进内容-----
事件的判定我昨晚回去仔细思考了下,再加入变量EF,分别赋值事件XY值,并且加入判定变量GHIJ
于是就应该是这样的吧
并行事件
变量ABCDEF分别赋值
变量G赋值变量C
变量G+1
变量H赋值变量C
变量H-1
变量I赋值变量D
变量I+1
变量J赋值变量D
变量J-1
1条件分歧,当G=E时 开关(推石头模式)开启
1否则
2条件分歧,当H=E时 开关(推石头模式)开启
2否则
3条件分歧,当I=F时 开关(推石头模式)开启
3否则
4条件分歧,当J=F时 开关(推石头模式)开启
4否则开关(推石头模式)关闭
(注释:下面这是个新的分歧,也就是说是接在上面那个分歧的整个分歧后面而不是否则的后面)
1条件分歧 当开关(推石头模式)开启时 2条件分歧 当E=A时
3条件分歧 当F=B时 开关(机关)开启
3否则 开关(机关)关闭
2否则 开关(机关)关闭
1否则
2条件分歧,当开关(机关)关闭时(这个是接在1的否则后面,是为了分歧在不开启推石头开关的时候角色站上去的判定)
3条件分歧 当A=C时
4条件分歧,当B=D时 开关开启
4否则 开关(机关)关闭
3否则 开关(机关)关闭
2否则 (这后面不接东西)
我没有VA,所以只能弄出个这样,应该是可行的,唯一的问题是当石头在机关旁边时主角站上机关也没用,但是这个等我有时间调一调也是能解决的。
我为什么要做这个东西?我知道这东西有点麻烦,要占用10个变量3个开关。但其实我只是想说明,脚本确实很方便,但不用什么都依赖脚本,事件其实也能解决很多难题的。

点评

moy
我没说事件不能做啦233,我只是觉得合理搭配能用更简单的方法实现不是也很好吗~这不叫依赖脚本,而是利用脚本。  发表于 2014-6-5 10:40
moy
关键在于还有各种事件的同位,如果单纯使用事件会导致事件设置非常庞杂,这不符合游戏制作的要求。  发表于 2014-6-5 02:33
moy 发表于 2014-6-3 11:20:01
  1. #==============================================================================
  2. # ☆ Custom Adventure 踩踏/置物判断
  3. # -- Last Updated: 2014.6.3
  4. # -- by Moy
  5. # -- 转载请保留以上信息
  6. #==============================================================================
  7. #   本脚本判断一个在人物下层的事件是否被其他事件/角色踩踏
  8. #   对本事件使用只需要在分歧脚本中使用get_character(0).stepped_on?即可。
  9. #   判断别的事件请自行获取实例后使用。
  10. #==============================================================================
  11. # ■ Game_Event
  12. #==============================================================================
  13. class Game_Event < Game_Character
  14.   #--------------------------------------------------------------------------
  15.   # ● 判断本事件是否被其他事件/角色踩踏
  16.   #--------------------------------------------------------------------------
  17.   def stepped_on?
  18.     stepped_by_events?(@x,@y) || stepped_by_player_characters?(@x, @y)
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 判断某位置是否被其他事件踩踏
  22.   #--------------------------------------------------------------------------
  23.   def stepped_by_events?(x, y)
  24.     $game_map.events_xy_nt(x, y).any? do |event|
  25.       event.normal_priority?
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 判断某位置是否被主控角色踩踏
  30.   #--------------------------------------------------------------------------
  31.   def stepped_by_player_characters?(x, y)
  32.     @priority_type == 0 && $game_player.collide?(x, y)
  33.   end
  34. end
复制代码
自用,于是随手写了。注意设置为“在人物下方”以及“允许穿透(为了其他事件能推上去)”

点评

=A=谢谢了  发表于 2014-6-5 02:04
moy
本想直接用collide,结果发现碰撞的条件太苛刻,只好改了下。  发表于 2014-6-3 11:22

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

tseyik 发表于 2014-6-3 11:09:57
本帖最后由 tseyik 于 2014-6-3 11:11 编辑

公共事件,
経過時間,移動次数
設定开关,変数
taroxd 发表于 2014-6-3 06:17:59
按钮外面的格子设事件,条件是主角接触,效果是关门

点评

moy
那样就不能保证“物体/角色离开开关位置后,开关关闭”的效果了  发表于 2014-6-3 11:23
绝命崖 发表于 2014-6-3 05:41:35
这个可以尝试用开关解决吧?比如用两个开关。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-25 13:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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