幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1544|回复: 7

这脚本是什么时候用的?

[复制链接]

22

主题

766

帖子

3330

积分

⑥精研

事件派RMer

积分
3330
发表于 2005-1-20 07:06:44 | 显示全部楼层 |阅读模式
无意翻到的,自己看了看,似乎在游戏里没有用到……

#==============================================================================
# ■ Window_NameInput
#------------------------------------------------------------------------------
#  输入名称的画面、文字选择窗口。
#==============================================================================

class Window_NameInput < Window_Base
  CHARACTER_TABLE =
  [
    "あ","い","う","え","お",
    "か","き","く","け","こ",
    "さ","し","す","せ","そ",
    "た","ち","つ","て","と",
    "な","に","ぬ","ね","の",
    "は","ひ","ふ","へ","ほ",
    "ま","み","む","め","も",
    "や", "" ,"ゆ", "" ,"よ",
    "ら","り","る","れ","ろ",
    "わ", "" ,"を", "" ,"ん",
    "が","ぎ","ぐ","げ","ご",
    "ざ","じ","ず","ぜ","ぞ",
    "だ","ぢ","づ","で","ど",
    "ば","び","ぶ","べ","ぼ",
    "ぱ","ぴ","ぷ","ぺ","ぽ",
    "ゃ","ゅ","ょ","っ","ゎ",
    "ぁ","ぃ","ぅ","ぇ","ぉ",
    "ー","・", "" , "" , "" ,
    "ア","イ","ウ","エ","オ",
    "カ","キ","ク","ケ","コ",
    "サ","シ","ス","セ","ソ",
    "タ","チ","ツ","テ","ト",
    "ナ","ニ","ヌ","ネ","ノ",
    "ハ","ヒ","フ","ヘ","ホ",
    "マ","ミ","ム","メ","モ",
    "ヤ", "" ,"ユ", "" ,"ヨ",
    "ラ","リ","ル","レ","ロ",
    "ワ", "" ,"ヲ", "" ,"ン",
    "ガ","ギ","グ","ゲ","ゴ",
    "ザ","ジ","ズ","ゼ","ゾ",
    "ダ","ヂ","ヅ","デ","ド",
    "バ","ビ","ブ","ベ","ボ",
    "パ","ピ","プ","ペ","ポ",
    "ャ","ュ","ョ","ッ","ヮ",
    "ァ","ィ","ゥ","ェ","ォ",
    "ー","・","ヴ", "" , "" ,
  ]
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(0, 128, 640, 352)
    self.contents = Bitmap.new(width - 32, height - 32)
    @index = 0
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  # ● 获取文字
  #--------------------------------------------------------------------------
  def character
    return CHARACTER_TABLE[@index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0..179
      x = 4 + i / 5 / 9 * 152 + i % 5 * 28
      y = i / 5 % 9 * 32
      self.contents.draw_text(x, y, 28, 32, CHARACTER_TABLE, 1)
    end
    self.contents.draw_text(544, 9 * 32, 64, 32, "确定", 1)
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # 光标位置在 [确定] 的情况下
    if @index >= 180
      self.cursor_rect.set(544, 9 * 32, 64, 32)
    # 光标位置在 [确定] 以外的情况下
    else
      x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28
      y = @index / 5 % 9 * 32
      self.cursor_rect.set(x, y, 28, 32)
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    super
    # 光标位置在 [确定] 的情况下
    if @index >= 180
      # 光标下
      if Input.trigger?(Input:OWN)
        $game_system.se_play($data_system.cursor_se)
        @index -= 180
      end
      # 光标上
      if Input.repeat?(Input::UP)
        $game_system.se_play($data_system.cursor_se)
        @index -= 180 - 40
      end
    # 光标位置在 [确定] 以外的情况下
    else
      # 按下方向键右的情况下
      if Input.repeat?(Input::RIGHT)
        # 按下状态不是重复的情况下、
        # 光标位置不在右端的情况下
        if Input.trigger?(Input::RIGHT) or
           @index / 45 < 3 or @index % 5 < 4
          # 光标向右移动
          $game_system.se_play($data_system.cursor_se)
          if @index % 5 < 4
            @index += 1
          else
            @index += 45 - 4
          end
          if @index >= 180
            @index -= 180
          end
        end
      end
      # 按下方向键左的情况下
      if Input.repeat?(Input:EFT)
        # 按下状态不是重复的情况下、
        # 光标位置不在左端的情况下
        if Input.trigger?(Input:EFT) or
           @index / 45 > 0 or @index % 5 > 0
          # 光标向右移动
          $game_system.se_play($data_system.cursor_se)
          if @index % 5 > 0
            @index -= 1
          else
            @index -= 45 - 4
          end
          if @index < 0
            @index += 180
          end
        end
      end
      # 按下方向键下的情况下
      if Input.repeat?(Input:OWN)
        # 光标向下移动
        $game_system.se_play($data_system.cursor_se)
        if @index % 45 < 40
          @index += 5
        else
          @index += 180 - 40
        end
      end
      # 按下方向键上的情况下
      if Input.repeat?(Input::UP)
        # 按下状态不是重复的情况下、
        # 光标位置不在上端的情况下
        if Input.trigger?(Input::UP) or @index % 45 >= 5
          # 光标向上移动
          $game_system.se_play($data_system.cursor_se)
          if @index % 45 >= 5
            @index -= 5
          else
            @index += 180
          end
        end
      end
      # L 键与 R 键被按下的情况下
      if Input.repeat?(Input:) or Input.repeat?(Input::R)
        # 平假名 / 片假名 之间移动
        $game_system.se_play($data_system.cursor_se)
        if @index / 45 < 2
          @index += 90
        else
          @index -= 90
        end
      end
    end
    update_cursor_rect
  end
end

……我的签名……怎么倒档了……
回复

使用道具 举报

0

主题

4

帖子

1239

积分

⑥精研

积分
1239
发表于 2005-1-20 09:06:50 | 显示全部楼层
好像是输入名称用的~
可以改主角名字之类的~
^^
回复 支持 反对

使用道具 举报

22

主题

766

帖子

3330

积分

⑥精研

事件派RMer

积分
3330
 楼主| 发表于 2005-1-20 09:12:32 | 显示全部楼层
我也这么想,可是游戏里怎么设置呢
……我的签名……怎么倒档了……
回复 支持 反对

使用道具 举报

1

主题

6

帖子

217

积分

③业余

积分
217
发表于 2005-1-20 09:15:20 | 显示全部楼层
事件里有一个\"名称输入处理...\",就用到这个!
回复 支持 反对

使用道具 举报

1

主题

6

帖子

217

积分

③业余

积分
217
发表于 2005-1-20 09:20:09 | 显示全部楼层
你还可以将开始的哪些平假名和片假名改称中文,你就可以输入中文了,不过只有180个字.我试着改过代码,也只增加到了240个字,再多窗口就容纳不下了.如果窗口可以垂直滚动就好了,可惜我做不来!
回复 支持 反对

使用道具 举报

1

主题

12

帖子

202

积分

③业余

积分
202
发表于 2005-1-20 09:57:03 | 显示全部楼层
可以在每个窗口增加 翻页 的功能, 分几个窗口来显示.

由于汉字实在是太多.而且很多也很少用到.所以没有多少人用.

最多改成 英文 + 数字 + 一些特殊字符.
回复 支持 反对

使用道具 举报

carol3 该用户已被删除
发表于 2005-1-20 15:03:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5

主题

35

帖子

868

积分

⑤进阶

冥王

积分
868
发表于 2005-1-22 02:00:55 | 显示全部楼层
我倒想说的是除了语言,建议大家先把界面全搞一遍再问问题才是王道
谁也没我猥琐
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-19 05:30 , Processed in 0.012447 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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