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

Project1

 找回密码
 注册会员
搜索
查看: 1741|回复: 6
打印 上一主题 下一主题

[已经解决] 范围判定不能,求解……

[复制链接]

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
40250
在线时间
7509 小时
注册时间
2009-7-6
帖子
13489

开拓者贵宾

跳转到指定楼层
1
发表于 2010-11-1 15:31:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 fux2 于 2010-11-1 21:19 编辑

我在游戏里调用skillattack(32,0,30,64)
定义如下:
  1.   def skillattack(zx,zy,zw,zh)
  2.     for ev in $game_map.events.values
  3.       if ev.name.include?("Mob")
  4.       if @direction == 6
  5.         zx = $game_player.x + zx
  6.   #      zy = $game_player.y + zy
  7.       else
  8.         zx = $game_player.x - zx - zw + 32
  9.   #      zy = $game_player.y - zy - zh + 32
  10.       end
  11.         if ev.x <= zx + zw and ev.x + 32 >= zx #and ev.y <= zy + zh and ev.y + 32 >= zy
  12.           ev.m = false
  13.           ev.pattern = ev.original_pattern
  14.           ev.zt = 3
  15.           ev.wait_count = 30
  16.           Audio.se_play("Audio/SE/9400112h", 100, 100)
  17.           if ev.m == false
  18.             ev.picname += "teng02001-0201"
  19.           end
  20.         end
  21.       end
  22.     end
  23.   end
复制代码
我想实现的是如果怪物在以zx,zy为原点,zw,zh为高宽的范围内,则执行后面的代码

但是,测试起来发现只要怪物在角色面朝的方向,就会执行后面的代码,求解~~~
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-11-1
帖子
5
2
发表于 2010-11-1 16:26:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
40250
在线时间
7509 小时
注册时间
2009-7-6
帖子
13489

开拓者贵宾

3
 楼主| 发表于 2010-11-1 19:31:15 | 只看该作者
我擦一户口本儿的泪啊!我这个ID一共发过18个提问帖,只有3个没有沉....
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
9212
在线时间
4386 小时
注册时间
2005-10-22
帖子
6798

开拓者贵宾

4
发表于 2010-11-1 19:50:42 | 只看该作者
本帖最后由 orochi2k 于 2010-11-1 19:53 编辑

果断欺负一下那堆+32~~~+20~~~之类的东东……

偶咋记得EVENT.X和EVENT.Y都没那么大来着……

不过偶来玩距离计算的话貌似会直接邪恶地勾股定理……

点评

蛇前辈果然厉害,连我忘说的都知道, 把判定的20改成32才会出现如题症状,改成其它均不执行后面句子,就算在范围内。。。。  发表于 2010-11-1 21:12
= =..................您这不等于路过吗  发表于 2010-11-1 19:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
5
发表于 2010-11-1 19:52:48 | 只看该作者
本帖最后由 wbsy8241 于 2010-11-1 19:56 编辑
  1.       if @direction == 6
  2.         ...
  3.       else
  4.         ...
  5.       end
  6.         if ev.x <= zx + zw and ev.x + 20 >= zx
  7.           ....
  8.         end
复制代码
下面IF的位置和上面的没关系的吧.
上面怎么判断下面的都会判断的.

还有啊 .x .y是坐标 1个屏幕最大也就x = 20  y =15

zh = 64 那就是攻击范围4个屏幕还要大的范围?

点评

thanks!其实是我用错,我应该用real_x神马的。  发表于 2010-11-1 20:47

评分

参与人数 1星屑 +376 收起 理由
fux2 + 376 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2010-8-1
帖子
231
6
发表于 2010-11-1 20:52:47 | 只看该作者
回复 fux2 的帖子

有关zy的代码不是都被#注释掉了吗……?那样应该只是会判定横坐标吧,所以才朝向怪物就执行吧……?要不试试给zx定某一个值,然后再把怪放在这个值的横坐标外,如果不执行就应该是注释的缘故吧……?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
40250
在线时间
7509 小时
注册时间
2009-7-6
帖子
13489

开拓者贵宾

7
 楼主| 发表于 2010-11-1 20:58:10 | 只看该作者
回复 seasoneast 的帖子

....zy我有意注释的,我只判断它是否在横坐标范围内,要zy暂时无用。据5楼提醒,是谢特的x与real_x的混淆吧。

点评

呃……忽略我吧……  发表于 2010-11-1 22:47
继续欺负+32~+20那坨东西 ~\(≧▽≦)/~  发表于 2010-11-1 21:06
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-6-13 15:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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