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

Project1

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

[已经解决] 如何获取位于某坐标的全部事件

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
510
在线时间
340 小时
注册时间
2008-8-13
帖子
526
跳转到指定楼层
1
发表于 2009-10-31 14:27:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何获取位于某坐标的全部事件?

我不要事件的XY判定,

而是事件有1点象素沾着这坐标都算......

事件的XY判定是$game_map.events[$game_map.check_event(x, y)]

那要如何改才能改为事件有1点象素沾着这坐标都算呢???

求解
- - 你无视我就行了
Temperament can not be proud to imitate supreme.

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
2
发表于 2009-10-31 14:30:06 | 只看该作者
那得加循环了……

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
286 小时
注册时间
2009-8-5
帖子
566
3
发表于 2009-10-31 16:13:06 | 只看该作者
我想你指的坐标是real_x和real_y,即实际坐标。而xp判断事件的方式使用x、y,理论坐标。
如果把real_x和real_y看成像素点的话,x、y应该就是地图的事件格的坐标。(介个是偶的理解)
想要获取实际坐标上的时间,就要用real_x和real_y判断。
--以上,一点想法。= =。偶也是初学者,等待高手解答。为lz祝福。

让你们不应征,人家已经娶到老婆的口胡~~
--------------------------------------------------
作者blog(此人到处安家落户,其实东西都一样么==主号在百度):
点击我,我是度娘博客链接
点击我,我是网易博客链接
点击我,我是新浪博客链接

最近启动的RpgMakerXp人物立绘(头像)补完计划(不知何时才会有时间有心情画……)=》我是链接,查看作者龟速进度请戳我

曾经的作者初中到大学的进化过程=》我是链接,查看作者历史渣作请猛戳我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
4
发表于 2009-10-31 16:22:42 | 只看该作者
参考xas。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

5
发表于 2009-10-31 19:34:52 | 只看该作者
循环事件或许X,Y坐标并获取这个事件显示出来的图形的rect
不知道你说的点是说的像素还是地图格子
如果是像素,那就是说的屏幕坐标.那要获取事件rect在的屏幕坐标。然后判断一个点是否在某矩形里
如果是地图格子那就换算成32*32的rect.然后判断这2个rect的8个点的位置关系











你知道得太多了

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
510
在线时间
340 小时
注册时间
2008-8-13
帖子
526
6
 楼主| 发表于 2009-10-31 19:59:50 | 只看该作者
谢谢,我参考冒险岛解决了
- - 你无视我就行了
Temperament can not be proud to imitate supreme.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
61 小时
注册时间
2006-9-15
帖子
946
7
发表于 2009-10-31 20:08:27 | 只看该作者
  1. class Game_Character
  2.   def range(x,y)
  3.     return true if @real_x<(x+1)*256 && @real_x>(x-1)*256 && @real_y<(y+1)*256 && @real_y>(y-1)*256
  4.     return false
  5.   end
  6. end
复制代码
上面是定义方法
下面是获取事件
  1. events = []
  2. $game_map.events.each_value{ |event|
  3.   if event.range(4,4)
  4.     events.push(event)
  5.   end
  6. }
复制代码
数组events中就是 LZ要的东西
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-14 23:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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