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

Project1

 找回密码
 注册会员
搜索

请教一句脚本的写法,就一句

查看数: 3913 | 评论数: 14 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-12-5 11:52

正文摘要:

如果1号事件的右边不能通行,而且不是被其它不可穿透的事件挡住。写在并行事件的条件分歧里,怎么写?

回复

wolves 发表于 2014-12-11 12:04:33
HзO 发表于 2014-12-11 10:16
能否说一下具体的用法?谢谢

比如在脚本编辑器里新建一页写
  1. class ABC
  2. def de
  3. if $game_map.passable?($game_map.events[1].x+1, $game_map.events[1].y, 6)
  4.   for i in 1 .. $game_map.events.size
  5.     unless $game_map.events[i].x==$game_map.events[1].x+1 && $game_map.events[i].y==$game_map.events[1].y && $game_map.events[i].through == false
  6.         事件
  7.     end
  8.   end
  9. end
  10. end
  11. end
复制代码
调用的时候用
  1. alex=ABC.new
  2. alex.de
复制代码

点评

(其实我 class << ABC = Object.new 习惯了……)  发表于 2014-12-11 17:16
这么用习惯了OTL  发表于 2014-12-11 13:02
同样没有看出生成实例的用处  发表于 2014-12-11 12:39
不要去这么麻烦吧,直接定义在Kernel模块或者Game_Interpreter事件解释器下,就可以在任何地方直接调用,就不用生成实例了。  发表于 2014-12-11 12:19

评分

参与人数 1星屑 +200 收起 理由
︶ㄣ牛排ぶ + 200 认可答案

查看全部评分

HзO 发表于 2014-12-11 10:16:38
wolves 发表于 2014-12-9 21:18
可以用调用类的方法的方法判定

能否说一下具体的用法?谢谢
wolves 发表于 2014-12-9 21:18:31
HзO 发表于 2014-12-9 15:57
可以直接写在事件的条件分歧里吗?

可以用调用类的方法的方法判定
HзO 发表于 2014-12-9 15:57:56
wolves 发表于 2014-12-8 13:04

可以直接写在事件的条件分歧里吗?
wolves 发表于 2014-12-8 13:04:56
本帖最后由 wolves 于 2014-12-8 13:07 编辑
  1. if $game_map.passable?($game_map.events[1].x+1, $game_map.events[1].y, 6)
  2.   for i in 1 .. $game_map.events.size
  3.     unless $game_map.events[i].x==$game_map.events[1].x+1 && $game_map.events[i].y==$game_map.events[1].y && $game_map.events[i].through == false
  4.         事件
  5.     end
  6.   end
  7. end
复制代码
HзO 发表于 2014-12-8 11:22:05
myownroc 发表于 2014-12-6 16:30
那这样应该是$game_map.events[7].x+1==$game_map.events[6].x && $game_map.events[7].y == $game_map.e ...

这个写法我知道,我要求的是能判断出:如果1号事件右方不可通行的原因是被不可通行图块挡住,而不是被任何事件挡住。用一句脚本写在事件的条件分歧里

换一句话说:如果1号事件右方不可通行,并且右方没有被其它事件挡住
myownroc 发表于 2014-12-6 16:30:15
HзO 发表于 2014-12-6 15:38
比如说,判断7号事件的右边有没有6号事件挡住是写成下面这样?但是不管右方是不是有6号事件挡住,用这种 ...

那这样应该是$game_map.events[7].x+1==$game_map.events[6].x && $game_map.events[7].y == $game_map.events[6].y
在这之前还要判断7的右边是否超出地图
HзO 发表于 2014-12-6 15:38:25
本帖最后由 HзO 于 2014-12-6 15:39 编辑
myownroc 发表于 2014-12-5 23:11
实在抱歉,应该这么写


比如说,判断7号事件的右边有没有6号事件挡住是写成下面这样?但是不管右方是不是有6号事件挡住,用这种方法判断出来的结果总是:右方可以通行


$game_map.events[7].passable?($game_map.events[6].x+1,$game_map.events[6].y,6)
myownroc 发表于 2014-12-5 23:11:42
HзO 发表于 2014-12-5 22:43
不管1号事件右方是不是有2号事件挡住,用这种方法判断出来的结果总是:右方可以通行

...

实在抱歉,应该这么写
  1. $game_map.events[2].passable?($game_map.events[3].x+1,$game_map.events[3].y,0)
复制代码

点评

最后一位表示方向,可由2 4 6 8代替  发表于 2014-12-5 23:13
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-9-20 23:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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