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

Project1

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

[已经解决] 请问如何判断离主角最近的事件?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
跳转到指定楼层
发表于 2014-8-28 01:10:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
请问如何判断离主角最近的事件?
注意:事件是可以自由移动的,且是”接近主角“
           

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10204
在线时间
5019 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

11
发表于 2014-11-2 14:52:59 | 只看该作者
本帖最后由 VIPArcher 于 2014-11-2 14:58 编辑

沙发不是回答了吗?如果是因为脚本框太小楼下也告诉你解决方法了不是吗?
如果还不行还可以把它写到Game_Interpreter里啊 ,例如
事件调用 get_minfromev_id 返回距离最近的事件ID。
例如变量赋值里的脚本输入get_minfromev_id
随便写的,本体就是沙发taroxd写的方法
  1. class Game_Interpreter
  2.   def get_minfromev_id
  3.     $game_map.events.min_by {|id, event|
  4.     (event.x - $game_player.x).abs + (event.y - $game_player.y).abs
  5.     }.first
  6.   end
  7. end
复制代码
未测试

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
10
 楼主| 发表于 2014-11-2 13:38:12 | 只看该作者

如何判断离主角最近的事件id?

如:主角朝左时:

但事件位置改变后:

强烈需要!求帮助!!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
9
 楼主| 发表于 2014-8-30 16:18:21 | 只看该作者
君虫丶 发表于 2014-8-30 02:09
在事件页有个获取指定位置的信息,代入变量3,判定:变量3 != 0
                                         ...

嗯……我是要做枪战……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
89
在线时间
480 小时
注册时间
2013-5-10
帖子
840
8
发表于 2014-8-30 02:09:35 | 只看该作者
在事件页有个获取指定位置的信息,代入变量3,判定:变量3 != 0
                                                                      则  脚本
                                                                        end
具体可以参考我的VA的事件脚本战斗
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
7
 楼主| 发表于 2014-8-28 12:52:50 | 只看该作者
taroxd 发表于 2014-8-28 11:17
那就在事件指令-脚本里这样写:
$game_variables[变量id] = 上面那一段脚本

去掉了.first 还是不行,不过谢谢啦!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
6
 楼主| 发表于 2014-8-28 12:03:35 | 只看该作者
taroxd 发表于 2014-8-28 11:17
那就在事件指令-脚本里这样写:
$game_variables[变量id] = 上面那一段脚本

是这样吗?

4410a9d340bd5c6d960a166e.jpg (16.11 KB, 下载次数: 27)

4410a9d340bd5c6d960a166e.jpg
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2014-8-28 11:17:32 手机端发表。 | 只看该作者
幼吾幼 发表于 2014-8-28 11:09
可不可以:
脚本:$game_map.events.min_by {|id, event| (event.x - $game_player.x).abs + (event.y -  ...

那就在事件指令-脚本里这样写:
$game_variables[变量id] = 上面那一段脚本

并且,如果被迫换行的话,除了最后一行之外每行最后加一个 \
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
4
 楼主| 发表于 2014-8-28 11:09:11 | 只看该作者
taroxd 发表于 2014-8-28 09:17
赋值给变量即可。变量操作-赋值-脚本

可不可以:
脚本:$game_map.events.min_by {|id, event| (event.x - $game_player.x).abs + (event.y - $game_player.y).abs }.first=变量[01]

4410a9d340bd5c6d960a166e.jpg (29.12 KB, 下载次数: 31)

4410a9d340bd5c6d960a166e.jpg
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2014-8-28 09:17:59 手机端发表。 | 只看该作者
幼吾幼 发表于 2014-8-28 09:02
怎么用那?

赋值给变量即可。变量操作-赋值-脚本
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2014-1-27
帖子
71
2
 楼主| 发表于 2014-8-28 09:02:59 | 只看该作者
taroxd 发表于 2014-8-28 05:31
未测试,获取最近的事件ID:
$game_map.events.min_by {|id, event| (event.x - $game_player.x).abs + (ev ...

怎么用那?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-18 12:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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