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

Project1

 找回密码
 注册会员
搜索

如何判定以玩家坐标为中心,一定范围内某区域的数量?

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

正文摘要:

图中黑点距离为1,橙红点距离为2. 我想把以玩家坐标为中心,一定范围内,所含有某区域的数量代入变量进行判定再达成如下目的…… 7号区域,当以玩家为中心,距离1以内(包括1),7号区域数量不为0时,才能使用 ...

回复

taroxd 发表于 2015-2-3 19:13:39
本帖最后由 taroxd 于 2015-2-3 19:15 编辑

思路是这样,未测试

RUBY 代码复制
  1. class Game_Interpreter
  2.   def region_count(region_id, distance)
  3.     x = $game_player.x
  4.     y = $game_player.y
  5.     (-distance..distance).inject(0) do |result, dx|
  6.       dy_max = distance - dx.abs
  7.       (-dy_max..dy_max).count { |dy|
  8.          $game_map.region_id(x + dx, y + dy) == region_id
  9.       } + result
  10.     end
  11.   end
  12. end


在 变量操作 - 脚本 中输入 region_count(区域ID, 距离) 即可获取
再说一遍,未测试- - 结果不对不要怪我- -

点评

测试时没有发现问题w,谢谢大大  发表于 2015-2-5 21:58

评分

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

查看全部评分

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

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

GMT+8, 2024-11-15 18:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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