Project1

标题: 大家帮个忙,如何将变量1显示在地图又上角 [打印本页]

作者: machinemxy    时间: 2008-2-23 21:39
标题: 大家帮个忙,如何将变量1显示在地图又上角
如题,想要用变量1来控制HP,然后在地图右上角显示出来。我对编程不太懂,那位帮我设计一个脚本啊?

ps:如果能用心来表示hp那就更好了......
作者: xiarongshan    时间: 2008-2-23 22:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: machinemxy    时间: 2008-2-23 22:21
谢谢啊
应该不难吧?
作者: 小幽的马甲    时间: 2008-2-23 22:23
以下引用machinemxy于2008-2-23 14:21:57的发言:

谢谢啊
应该不难吧?

不难,只要把现成的某个脚本改几句话就行了 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 日……落    时间: 2008-2-23 22:26
Window_XXXX
然后把MAP部分改下就OK了……
作者: 小幽的马甲    时间: 2008-2-23 22:30
以下引用日……落于2008-2-23 14:26:49的发言:

Window_XXXX
然后把MAP部分改下就OK了……

要说就说详细点,不会就干脆不说,这种帖子你认为lz会懂么
作者: machinemxy    时间: 2008-2-23 22:37
就是,完全看不懂。如果在脚本中引用变量,应该怎么说啊?
eg:我想算:变量1-变量2=变量1 ,应该怎么用语言来表达呢?
以前学过PASCAL,貌似没有任何帮助...
作者: 小幽的马甲    时间: 2008-2-23 22:37
  1. class Window_VariableWindow < Window_Base
  2. def initialize
  3. super(0,0,200,60)
  4. self.opacity = 0
  5. self.visible = false
  6. refresh
  7. end
  8. def refresh
  9. self.contents.clear
  10. self.contents.draw_text(0, 0, 40, WLH, $game_variables[1])
  11. end
  12. end
  13. class Scene_Map < Scene_Base
  14. alias variable_start start
  15. alias variable_update update
  16. alias variable_terminate terminate
  17. def start
  18. variable_start
  19. @variableWindow = Window_VariableWindow.new
  20. end
  21. def update
  22. @variableWindow.update
  23. @variableWindow.refresh
  24. @variableWindow.visible = true
  25. variable_update
  26. end
  27. def terminate
  28. variable_terminate
  29. @variableWindow.dispose
  30. end
  31. end
复制代码

差不多就是这样
作者: 小幽的马甲    时间: 2008-2-23 22:39
变量:$game_variables[X]
变量1-变量2=变量1:$game_variables[1] -= $game_variables[2]
作者: xiarongshan    时间: 2008-2-23 22:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiarongshan    时间: 2008-2-23 22:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: machinemxy    时间: 2008-2-23 22:55
真矛盾啊,分该给谁呢?
作者: 亿万星辰    时间: 2008-2-23 22:55
def update
@hpWindow.update
@hpWindow.refresh
@hpWindow.visible = true
hpWindow_update
end

这算法也太不讲究了.......卡不死才怪....
作者: machinemxy    时间: 2008-2-23 23:02
平分吧,都能实现我的目标。
作者: machinemxy    时间: 2008-2-23 23:02
谢谢大家啊,又学到了知识
作者: xiarongshan    时间: 2008-2-23 23:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: wy29    时间: 2008-2-23 23:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亿万星辰    时间: 2008-2-23 23:13

  1. class Window_VariableWindow < Window_Base
  2.   VISIBLE_ID = 1  # 可见性控制(开关ID)
  3.   VALUE_ID = 1    # 数值控制(变量ID)
  4.   def initialize
  5.     super(0,0,200,60)
  6.     self.opacity = 0
  7.     self.visible = $game_switches[VISIBLE_ID]
  8.     @data = $game_variables[VALUE_ID]
  9.     refresh
  10.   end
  11.   def refresh
  12.     self.contents.clear
  13.     self.contents.draw_text(0, 0, 40, WLH, @data)
  14.   end
  15.   def update
  16.     self.visible = $game_switches[VISIBLE_ID]
  17.     if @data != $game_variables[VALUE_ID]
  18.       refresh
  19.       @data = $game_variables[VALUE_ID]
  20.     end
  21.   end
  22. end
  23. class Scene_Map < Scene_Base
  24.   alias variable_start start
  25.   alias variable_update update
  26.   alias variable_terminate terminate
  27.   def start
  28.     variable_start
  29.     @variableWindow = Window_VariableWindow.new
  30.   end
  31.   def update
  32.     @variableWindow.update
  33.     variable_update
  34.   end
  35.   def terminate
  36.     variable_terminate
  37.     @variableWindow.dispose
  38.   end
  39. end
复制代码

修正下刷新的逻辑问题吧...{/lh}

顺便说一下楼上提到的openness,openness实现的窗口的动态展开与闭合,与可见性无直接关联
作者: machinemxy    时间: 2008-2-23 23:20
楼上的,无效。这是为什么呢?
作者: 亿万星辰    时间: 2008-2-23 23:26
不是无效,是可见性为false.....这脚本写得....orz  =o=|
改好了....

1号开关控制显示与否
显示的值为1号变量
可自行在开始设置
作者: machinemxy    时间: 2008-2-23 23:36
改好了?
作者: machinemxy    时间: 2008-2-23 23:36
怎么不发呢?
作者: 小幽的马甲    时间: 2009-6-12 08:00
你完了一步,而且透明度应该为0……




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