Project1

标题: 能否修改指令窗口? [打印本页]

作者: killer0425    时间: 2017-7-13 19:17
标题: 能否修改指令窗口?


就如图所示,虽然一直试着寻找类似教学,但不知道是不是我路痴还是啥的,没找到类似的东西。希望各位有经验的大大赐教,我是脚本白痴,复杂的真心不明白。
作者: 魔法丶小肉包    时间: 2017-7-13 23:24
首先是个性光标,
那么既然是标题画面,那就先找到Scene_Title
然后在start里创建一个新的方法,方法名随意,这里就c_gb好了
RUBY 代码复制
  1. def c_gb
  2.     @gb = Sprite.new
  3.     @gb.bitmap = Cache.system("光标")
  4. end


然后,需要dispose,在terminate里执行吧
RUBY 代码复制
  1. def terminate
  2.     super
  3.     d_gb
  4. end

创建d_gb方法
RUBY 代码复制
  1. def d_gb
  2.     @gb.dispose
  3. end


然后需要设定x,y,z坐标吧?
那么,在c_gb方法里设定吧
RUBY 代码复制
  1. def c_gb
  2.     @gb = Sprite.new
  3.     @gb.bitmap = Cache.system("光标")
  4.     @gb.z = 1000
  5.     @gb.x = 300
  6.     @gb.y = 300+@command_window.index * 30
  7. end

设定z=1000,x=300,@command_window.index来获取光标的索引再乘以30(差不多一行的高度吧)再+300,总之这个坐标可以自己调整

设定完之后打开游戏一看,光标出现了,不过好像不动嘛,那么怎么办呢,那就update一下吧
RUBY 代码复制
  1. def update
  2.     super
  3.     @gb.update
  4.     @gb.y = 300+@command_window.index * 30
  5. end

@gb.update使光标更新,然后因为y坐标随时要变动所以要不断更新所以在update方法里也写一下y坐标,跟c_gb里的一样
那么,个性光标就完成啦,哦对了,别忘了把名为光标的素材放在Graphics里的System文件夹里...

接下来是去掉白边...
那就干脆透明一下好了
那么找到Window_TitleCommand
然后self.opacity = 0一下吧

最后,合起来的话。。。差不多就是这样啦
RUBY 代码复制
  1. class Scene_Title < Scene_Base
  2.   def start
  3.     super
  4.     SceneManager.clear
  5.     Graphics.freeze
  6.     create_background
  7.     create_foreground
  8.     create_command_window
  9.     c_gb
  10.     play_title_music
  11.   end
  12.   def terminate
  13.     super
  14.     d_gb
  15.   end
  16.   def c_gb
  17.     @gb = Sprite.new
  18.     @gb.bitmap = Cache.system("光标")
  19.     @gb.z = 1000
  20.     @gb.x = 300
  21.     @gb.y = 300+@command_window.index * 30
  22.   end
  23.   def update
  24.     super
  25.     @gb.update
  26.     @gb.y = 300+@command_window.index * 30
  27.   end
  28.   def d_gb
  29.     @gb.dispose
  30.   end
  31. end
  32. class Window_TitleCommand < Window_Command
  33.   def initialize
  34.     super(0, 0)
  35.     update_placement
  36.     select_symbol(:continue) if continue_enabled
  37.     self.openness = 0
  38.     self.opacity = 0
  39.     open
  40.   end
  41. end

作者: killer0425    时间: 2017-7-14 07:08
魔法丶小肉包 发表于 2017-7-13 23:24
首先是个性光标,
那么既然是标题画面,那就先找到Scene_Title
然后在start里创建一个新的方法,方法名随意 ...

请问这些代码都是写入scene_title的项目里吗?尤其是def c_gb和def_update的部分,我在scene title里好像没看到类似的。
作者: killer0425    时间: 2017-7-14 08:07
魔法丶小肉包 发表于 2017-7-13 23:24
首先是个性光标,
那么既然是标题画面,那就先找到Scene_Title
然后在start里创建一个新的方法,方法名随意 ...

对不起,因为才刚接触,对于这些脚本编号该写入那一项目有些还不熟。
作者: killer0425    时间: 2017-7-14 08:23

我差不多知道是怎么一回事了,但是就是这里出了问题,请问该如何解决呢?

Untitled.jpg (280.16 KB, 下载次数: 20)

Untitled.jpg

作者: killer0425    时间: 2017-7-14 08:53
终于弄好了!!!真的是太感谢大大的智慧与帮助,让我突然哭了,这完成度一直是我无法越过的坎,这下子有动力继续了,再一次谢谢大大的鼎力帮助!{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}{:4_113:}

顺便也贴上来给大大看看这个完成度~

Untitled.jpg (78.24 KB, 下载次数: 22)

Untitled.jpg





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