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

Project1

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

[已经解决] 运行时更改地图图块的脚本求修改

[复制链接]

Lv1.梦旅人

梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
帖子
238
跳转到指定楼层
1
发表于 2013-9-5 22:03:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
1星屑
这个脚本是把更改后的数据存在存档中的 可否更改后直接更改Map文件 而不需要存档?
使用方法:事件脚本中 $game_map.hzhj(384)
384为第一个图块


RUBY 代码复制
  1. #==============================================================================
  2. # ■ Game_System
  3. #==============================================================================
  4.  
  5. class Game_System
  6.   attr_accessor :hzhj_map
  7.   alias hzhj_sys_ini initialize
  8.   def initialize
  9.     @hzhj_map = {}
  10.     hzhj_sys_ini
  11.   end
  12. end
  13.  
  14.  
  15. #==============================================================================
  16. # ■ Game_Map
  17. #==============================================================================
  18.  
  19. class Game_Map
  20.   alias hzhj_setup_map setup
  21.   def setup(map_id)
  22.     hzhj_setup_map(map_id)
  23.     if $game_system.hzhj_map[@map_id] != nil
  24.       for a in $game_system.hzhj_map[@map_id]
  25.         @map.data[a[0],a[1],a[2]] = a[3]
  26.       end
  27.     end
  28.   end
  29.  
  30.   def data=(new_data)
  31.     @map.data = new_data
  32.     return @map
  33.   end
  34.  
  35.   def hzhj(c, f = 0)
  36.     a = $game_player.x;b = $game_player.y
  37.     d = [];d.push(a);d.push(b);d.push(f)
  38.     d.push(c)
  39.     e = $game_map.map_id
  40.     if $game_system.hzhj_map[e] == nil
  41.       $game_system.hzhj_map[e] = []
  42.       $game_system.hzhj_map[e].push(d)
  43.     else
  44.       $game_system.hzhj_map[e].push(d)
  45.     end
  46.     $game_map.data[a,b,f] = c
  47.   end
  48. end
  49.  
  50. #==============================================================================
  51. # ■ Spriteset_Map
  52. #==============================================================================
  53. class Spriteset_Map
  54.   alias hzhj_spri_map_upd update
  55.   def update
  56.     if @tilemap.map_data != $game_map.data
  57.       @tilemap.map_data = $game_map.data
  58.     end
  59.     hzhj_spri_map_upd
  60.   end
  61. end
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-5-7 11:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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