Project1

标题: ISA - 头顶的东西 [打印本页]

作者: 忧雪の伤    时间: 2011-3-19 14:28
标题: ISA - 头顶的东西
  1. #______________________________________________________________________________
  2. # * 此脚本归66RPG - Idiot Script Association(ISA)所有,谢绝任何形式转载。
  3. #______________________________________________________________________________

  4. #==============================================================================
  5. # ■ 头顶的东西 - Put On The Thing
  6. #------------------------------------------------------------------------------
  7. #   遵守协议:66RPG - Idiot Script Association(ISA)
  8. #   初始脚本:忧雪の伤
  9. #   更新优化:无
  10. #   当前版本:1.0.0.0
  11. #------------------------------------------------------------------------------
  12. #   更新日记:忧雪の伤(2011.3.19)
  13. #             - 初始化对象
  14. #------------------------------------------------------------------------------
  15. #   功能介绍:创建一个可以跟随移动,指定文件,显示在Player头上的Icon。
  16. #   使用方法:插入接入包的下端处。
  17. #   存在问题:无
  18. #==============================================================================

  19. #--------------------------------------------------------------------------
  20. # ● 资料记录
  21. #--------------------------------------------------------------------------

  22. module ISA
  23.    Use["头顶的东西"] = [true, "1.0.0.0"]
  24.    System["头顶的东西"] = {}
  25. end

  26. #--------------------------------------------------------------------------
  27. # ● 设定部分
  28. #--------------------------------------------------------------------------

  29. module ISA
  30.   # 窗口的坐标修正设定
  31.   System["头顶的东西"]["坐标修正设定"] = [30, 82]
  32. end

  33. #==============================================================================
  34. # ■ Game_Temp
  35. #------------------------------------------------------------------------------
  36. #  在没有存档的情况下,处理临时数据的类。这个类的实例请参考
  37. # $game_temp 。
  38. #==============================================================================

  39. class Game_Temp
  40.   #--------------------------------------------------------------------------
  41.   # ● 定义实例变量
  42.   #--------------------------------------------------------------------------
  43.   attr_accessor :map_put_on                  # 地图头顶存在图标
  44.   attr_accessor :map_put_name                # 地图头顶存在图标文件名
  45. end
  46.   
  47. #==============================================================================
  48. # ■ Window_Put_On
  49. #------------------------------------------------------------------------------
  50. #  显示图标的窗口。
  51. #==============================================================================

  52. class Window_Put_On < Window_Base
  53.   include ISA
  54.   #--------------------------------------------------------------------------
  55.   # ● 初始化窗口
  56.   #--------------------------------------------------------------------------
  57.   def initialize(name)
  58.     super(0, 0, 64, 64)
  59.     self.contents = Bitmap.new(width - 32, height - 32)
  60.     self.opacity = 0
  61.     self.x = $game_player.screen_x - System["头顶的东西"]["坐标修正设定"][0]
  62.     self.y = $game_player.screen_y - System["头顶的东西"]["坐标修正设定"][1]
  63.     self.z = 0
  64.     @name = name
  65.     refresh
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 刷新
  69.   #--------------------------------------------------------------------------
  70.   def refresh
  71.     self.contents.clear
  72.     bitmap = RPG::Cache.icon(@name)
  73.     self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 24, 24))
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 刷新画面
  77.   #--------------------------------------------------------------------------
  78.   def update
  79.     super
  80.     self.x = $game_player.screen_x - System["头顶的东西"]["坐标修正设定"][0]
  81.     self.y = $game_player.screen_y - System["头顶的东西"]["坐标修正设定"][1]
  82.   end
  83. end

  84. #==============================================================================
  85. # ■ Scene_Map
  86. #------------------------------------------------------------------------------
  87. #  处理地图画面的类。
  88. #==============================================================================

  89. class Scene_Map
  90.   include ISA  
  91.   #--------------------------------------------------------------------------
  92.   # ● 主处理
  93.   #--------------------------------------------------------------------------
  94.   alias :put_on_the_thing_main :main unless method_defined? :put_on_the_thing_main
  95.   def main
  96.     @put_on_window = Window_Put_On.new($game_temp.map_put_name) if $game_temp.map_put_on
  97.     put_on_the_thing_main
  98.     @put_on_window.dispose if @put_on_window != nil
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 刷新画面
  102.   #--------------------------------------------------------------------------
  103.   alias :put_on_the_thing_update :update unless method_defined? :put_on_the_thing_update
  104.   def update
  105.     @put_on_window.update if @put_on_window != nil
  106.     put_on_the_thing_update
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 设置图标
  110.   #--------------------------------------------------------------------------
  111.   def set_icon(name)
  112.     @put_on_window = Window_Put_On.new(name)
  113.     @put_on_window.visible = true
  114.     $game_temp.map_put_on = true
  115.     $game_temp.map_put_name = name
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 图标关闭
  119.   #--------------------------------------------------------------------------
  120.   def set_icon_no
  121.     $game_temp.map_put_on = false
  122.     if @put_on_window != nil
  123.       @put_on_window.visible = false
  124.     end
  125.     return true
  126.   end
  127. end
复制代码


使用方法?事件脚本。
$scene.set_icon(name), # 范例:$scene.set_icon(“001-Weapon”)
$scene.set_icon_no,# 取消显示
适合某些特殊用途……
关于坐标:脚本设定部分的数组,前一个是x,后一个是y。


截图神马的……


作者: 耶和华    时间: 2011-3-19 14:46
啊。。忧雪老爱搞些原创的东西。
这脚本不错,可以实现一些特殊效果。。
貌似事件应该也可以吧。。
作者: 越前リョーマ    时间: 2011-3-19 14:51
顺便给主角改个抬手的效果好了……

我才没有想做牧场物语这东西呢 = =
作者: AEGIS    时间: 2011-8-3 19:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 精灵使者    时间: 2011-8-4 16:55
头顶上有感叹号的人会有任务接……
作者: ♂雨    时间: 2013-7-13 10:15
这是怎么回事。
作者: 忧雪の伤    时间: 2013-7-13 12:05
♂雨 发表于 2013-7-13 10:15
这是怎么回事。
  1. module ISA
  2.   Use = {}
  3.   System = {}
  4. end
复制代码
UI> 你放到上面就行了。
作者: ♂雨    时间: 2013-7-13 12:27
悲剧的我按照你的,又发现了问题,这是怎么回事。
作者: ♂雨    时间: 2013-7-14 10:04
可以提供个范本附件么。
作者: 忧雪の伤    时间: 2013-7-16 11:11
♂雨 发表于 2013-7-14 10:04
可以提供个范本附件么。

UI> 沒人叫你把原本的資料記錄覆蓋掉啊,是放在上面啊大哥。
作者: ♂雨    时间: 2013-7-17 10:13
忧雪の伤 发表于 2013-7-13 12:05
UI> 你放到上面就行了。

我脚本盲,到底要放到那上面啊。。。。。。
作者: 爱夏的鱼    时间: 2013-7-17 10:41
话说这个脚本效果真的........很强大
作者: wutou    时间: 2013-8-2 16:43
这个很有趣啊,受教了!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1