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

Project1

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

[已经解决] 关于区域通行于事件数量问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2014-7-23
帖子
232
跳转到指定楼层
1
发表于 2014-10-22 15:16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1:现在有一个区域限制通行的脚本,请问有无办法让让区域也像图块一样拥有4个通行方向,比如像某区域只能上下左能通行,而右边不能(可能会认为有点怪,我自己问完也觉的怪)
2:很多人都说一张地图的事件多会导致掉帧,就是卡,我想问的是如果一个工程的事件总数量超过2000,但是每张地图的平均事件只有200那还会掉帧吗,(只是举个例子)
代码如下,谁写的一看就知道了
RUBY 代码复制
  1. module Taroxd
  2.   #--------------------------------------------------------------------------
  3.   # ● 设置区域
  4.   #--------------------------------------------------------------------------
  5.   PASSABLE_REGIONS   = []                   # 可通行的区域
  6.   IMPASSABLE_REGIONS = [1]                 # 不可通行的区域
  7. end
  8.  
  9. class Game_Map
  10.   #--------------------------------------------------------------------------
  11.   # ● 判定普通角色是否可以通行
  12.   #--------------------------------------------------------------------------
  13.   alias taroxd_passable_without_region? passable?
  14.   def passable?(x, y, d)
  15.     r = region_id(x, y)
  16.     return true  if Taroxd::PASSABLE_REGIONS.any?   {|e| e === r }
  17.     return false if Taroxd::IMPASSABLE_REGIONS.any? {|e| e === r }
  18.     taroxd_passable_without_region?(x, y, d)
  19.   end
  20. end

Lv4.逐梦者 (版主)

无限の剣制

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

开拓者贵宾

2
发表于 2014-10-22 15:43:12 | 只看该作者
本帖最后由 VIPArcher 于 2014-10-22 15:44 编辑

https://rpg.blue/thread-224145-1-1.html
这个区域扩展可以做到。如果看不懂说明、注释,用不来就等楼下大神吧。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2014-7-23
帖子
232
3
 楼主| 发表于 2014-10-22 15:45:18 | 只看该作者
VIPArcher 发表于 2014-10-22 15:43
https://rpg.blue/thread-224145-1-1.html
这个区域扩展可以做到。用不来就等楼下大神吧。 ...

我好好研究研究
应该搞的定
我又提了个新问题那个比较头大。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
4
发表于 2014-10-22 16:58:20 | 只看该作者
本帖最后由 tseyik 于 2014-10-22 18:28 编辑

可設定進入某區域就打開某開閉
再通過自動実行的公共事件設定可達成
  1. =begin
  2. RegionSwitch for VXA ver 1.0.1.0
  3.   設定したリージョンに入ったらスイッチオン
  4.   自動実行イベントと組み合わせて使うといい感じ


  5.   マップ設定のメモ欄に
  6. [RSW:12,10]
  7.   とか書くとリージョン12に入った時にスイッチ10がONになるようになります。

  8. URL:: http://www.tktkgame.com/
  9. LAST_UPDATE:: 2012/09/18
  10. =end
  11. module Tktkgame
  12.   module RegionSwitch
  13.     REGEX_REGION_SETTING = /\[RSW:(\d+),(\d+)\s*\]/
  14.     # RPG::Map include用
  15.     module MixinMap
  16.       # メモからリージョンイベント情報を取得
  17.       def init_region_switches
  18.         @region_switches = {}
  19.         self.note.scan(REGEX_REGION_SETTING) do |m|
  20.           region_id = m[0].to_i
  21.           sw_no      = m[1].to_i
  22.           if region_id > 0 && sw_no > 0
  23.             @region_switches[region_id] = [sw_no, true]
  24.           end
  25.         end
  26.       end
  27.       protected :init_region_switches
  28.       def region_switches
  29.         init_region_switches() if @region_switches.nil?
  30.         return @region_switches
  31.       end
  32.     end

  33.     # Game_Map include用
  34.     module MixinGameMap
  35.       def check_region_switche(region_id)
  36.         if @map.region_switches.key?(region_id)
  37.           sw_no, value = @map.region_switches[region_id]
  38.           if $game_switches[sw_no] != value
  39.             $game_switches[sw_no] = value
  40.             need_refresh = true
  41.           end
  42.         end
  43.       end
  44.     end

  45.     # Game_Map include用
  46.     module MixinGamePlayer
  47.       #--------------------------------------------------------------------------
  48.       # ● 歩数増加
  49.       #--------------------------------------------------------------------------
  50.       def increase_steps
  51.         super
  52.         if !@through && !jumping?
  53.           $game_map.check_region_switche($game_map.region_id(@x, @y))
  54.         end
  55.       end
  56.     end

  57.   end # END module Tktkgame::RegionSwitch

  58. end # END module Tktkgame

  59. class RPG::Map
  60.   include Tktkgame::RegionSwitch::MixinMap
  61. end
  62. class Game_Map
  63.   include Tktkgame::RegionSwitch::MixinGameMap
  64. end

  65. class Game_Player
  66.   include Tktkgame::RegionSwitch::MixinGamePlayer
  67. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 10:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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