Project1
标题:
怎样从一堆随机移动事件中取得某个事件的ID
[打印本页]
作者:
38571240
时间:
2010-9-19 21:21
标题:
怎样从一堆随机移动事件中取得某个事件的ID
本帖最后由 38571240 于 2010-9-20 23:29 编辑
假设地图上有若干随机移动的事件,有什么好方法能尽量快捷地判断出某一时刻在X轴上距离主角最近的那个事件的ID?
作者:
moy
时间:
2010-9-19 22:05
伪代码
for i in 0..20
for j in 0..20
k = $game_map.events[j].screen_x - $game_player.screen_x
k = k > 0 ? k : -k
if k == i
return j
end
end
end
最老土的方法...绝对不要相信其效率.
顺便这是伪代码,不能直接用.
作者:
38571240
时间:
2010-9-19 23:12
不知道语法怎么写,但这样似乎可以取得
@E = []
for eventa in $game_map.events.values
$k = eventa.x - $game_player.x
$k = $k > 0 ? $k : -$k
@E[eventa.id] = $k
if @E.min == $k
$game_variables[N] = eventa.id
end
end
谢谢沙发的启发
作者:
六祈
时间:
2010-9-19 23:36
回复
38571240
的帖子
event = $game_map.events.values.sort_by{|e| (e.x - $game_player.x).abs}[0]
$game_variables[xxx] = event.id
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1