Project1

标题: [新手向]教你玩XP脚本 第一期 [打印本页]

作者: 我爱吴悦淇    时间: 2013-1-29 14:06
标题: [新手向]教你玩XP脚本 第一期
如果觉得好的话,给糖,给粉  (喂喂,6R好像没粉这玩意

首先我们来介绍一下如何写一个窗口(Window类)

如果我们需要一个窗口,那么就要先

Class Window_XXX(XXX为你为这个窗口定义的名称,注意不要与原有的重复)

Q:可以用中文么?可用拼音么?
A:不能用中文,拼音就可以。。

然后,我们要定义这个窗口的高度宽度,所在的位置

#初始化窗口
  def initialize
    super(0, 0, 192, 58)   #(X,Y,宽度,高度)
    self.contents = Bitmap.new(width - 32, height - 32)     # (width - XX, height - XX)    为文字与窗口边框的距离
   # refresh
  end

打开游戏,咦?窗口呢?

这时,我们就要用到scene类啦

打开Scene_Map

找到    # 生成信息窗口
    @message_window = Window_Message.new

在下面加上一句
@XXX_window = Window_XXX.new

再找到
    # 释放信息窗口
    @message_window.dispose

在下面加上一句
@XXX_window.dispose

打开游戏

嗯。。。窗口在游戏中了

接下来,我们要在窗口中写东西了~

首先,去掉refresh前面的#

然后刷新

  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color   #字体的颜色
    self.contents.draw_text(0,-12, 172, 52, "XXXXX")      #在窗口中显示的文字
   end
end

打开游戏,地图上的窗口就会显示文字了~
如果大家需要在窗口上加上什么信息的话,可以参考原脚本,例如

Window_MenuStatus内的

  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 40, y + 80)      #描绘所有角色的行走图
      draw_actor_name(actor, x, y)   #描绘所有角色的名称
      draw_actor_class(actor, x + 144, y)     #描绘所有角色的职业
      draw_actor_level(actor, x, y + 32)    #描绘所有角色的等级
      draw_actor_state(actor, x + 90, y + 32)   #描绘所有角色的状态
      draw_actor_exp(actor, x, y + 64)   #描绘所有角色的经验
      draw_actor_hp(actor, x + 236, y + 32)   #描绘所有角色的血
      draw_actor_sp(actor, x + 236, y + 64)   #描绘所有角色的魔法值
    end
  end



进入最后的部分啦,那就是Scene类

在这里我不会介绍那么多(具体可以看下一期,我们不定期更新

个人觉得scene类就是Window类的载体  (好吧,这可能是废话

如果需要自己写scene类的话,可以参考原脚本或是看我们下一期

我只介绍一些可以调用的脚本
(注意区分大小写)
$scene = Scene_Map.new   #切换至地图画面
$scene = Scene_Menu.new  #切换至菜单
$scene = Scene_Status.new(1)  #切换至一号角色的状态窗口
$scene = Scene_XXXX.new(XXXX为scene后的单词,以此类推)

如果在呼出状态窗口之后不想要回到菜单,而是想要直接去到地图,可以按
ctrl+alt+F    来进行搜索”按下 B 键的场合”   
将切换到菜单画面下面的   $scene = Scene_Map.new 改为 $scene = Scene_Menu.new

其他脚本都可以这么改哦~  好了,本期的玩转XP脚本就到此结束了,记得关注我们哦~

再次 如果觉得好的话,给糖,给粉  (喂喂,6R好像没粉这玩意


作者: a554187203    时间: 2013-1-29 14:08
虽然看不懂,不过好厉害的样子
但其实这东西好像和注释差不多,不能学习
作者: Chen。    时间: 2013-1-29 14:18
虽然看不懂,不过好弱的样子

作者: 熊猫抱树    时间: 2013-1-29 14:54
好厉害的样子,VA,VX也适用吗?
作者: Mr.L    时间: 2013-1-29 15:20
LZ,脚本什么的先放一边。说说你还段祺瑞发展到什么程度了?
作者: 判约之轮    时间: 2013-1-29 15:29
本帖最后由 判约之轮 于 2013-1-29 15:55 编辑

……排版略混乱,就不能用几次代码框么……

就像这样:
RUBY 代码复制
  1. 我是代码





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