查看: 2921|回复: 0

[已经解决] 这小段脚本求优化

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-2-13 23:15:48 | 显示全部楼层 |阅读模式

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

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

×
索敌脚本[pre lang="ruby"]   def update_sensor
  #   @enemy_in_range = nil
     #修改成功
     #索敌
     if @enemy_in_range == nil
     for i in $game_map.events.values.select{|ev| ev.event.name == "Enemy"}
       if i.battler != nil and i.battler.is_a?(Game_Enemy) and not
         BFS_Setting::NOT_ATTACK_ID.include?(i.enemy_id)
         distance = (i.x - self.x).abs + (i.y - self.y).abs
         if (distance <= BFS_Setting::SENSOR_RANGE)
           @enemy_in_range = i.id
           break
         else
           @enemy_in_range = nil
         end

       end
       end
     end
   end  
end
[/pre]

这个用来索敌的。所有名字叫Enemy的可以索到。
不过这个用起来后很卡。
我大概知道原因了。
应该是FOR循环了全图的敌人事件。
我明明有break怎么也还卡。
能不能加个范围搜索,屏幕外的不搜索。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部