设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1992|回复: 5
打印 上一主题 下一主题

备忘录要怎么用?纯事件还是脚本?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-6-30
帖子
111
跳转到指定楼层
1
发表于 2007-7-31 21:24:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-6-30
帖子
111
2
 楼主| 发表于 2007-7-31 21:24:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-6-30
帖子
111
3
 楼主| 发表于 2007-8-1 05:58:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

4
发表于 2007-8-1 15:44:40 | 只看该作者
我如果估计没错的话,热血物语的备忘录使用的是这个,你参考一下。

  1. # ▼▲▼ XRXS 9. メッセージ表示フルグレードアップ「バックログ」 ▼▲▼
  2. # by 桜雅 在土

  3. #==============================================================================
  4. # カスタマイズポイント
  5. #==============================================================================
  6. module XRXS9
  7.   #--------------------------------------------------------------------------
  8.   # バックログ
  9.   #--------------------------------------------------------------------------
  10.   BACKLOG_KEY             = Input::R# バックログ展開ボタン。
  11.   BACKLOG_MAX_HEIGHT      = 1600    # 最大ログ高さ[単位:ピクセル]
  12.   BACKLOG_MAX_INDEX       =   12    # 最大ログ数[単位:メッセージ]
  13. end

  14. #==============================================================================
  15. # ■ Window_Message
  16. #==============================================================================
  17. class Window_Message < Window_Selectable
  18.   #--------------------------------------------------------------------------
  19.   # ● オブジェクト初期化
  20.   #--------------------------------------------------------------------------
  21.   alias xrxs9ax_initialize initialize
  22.   def initialize
  23.     # 呼び戻す
  24.     xrxs9ax_initialize
  25.     # ログウィンドウを作成
  26.     @log_window = Window_MessageLog.new
  27.     @log_window.z = self.z + 100
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● メッセージ終了処理
  31.   #--------------------------------------------------------------------------
  32.   alias xrxs9ax_terminate_message terminate_message
  33.   def terminate_message
  34.     # バックログへ保存
  35.     @log_window.add_log(@current_name, self.contents)
  36.     # 呼び戻す
  37.     xrxs9ax_terminate_message
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ○ フレーム更新
  41.   #--------------------------------------------------------------------------
  42.   alias xrxs9ax_update_main update_main
  43.   def update_main
  44.     # バックログボタンが押された場合
  45.     if Input.trigger?(XRXS9::BACKLOG_KEY) and $game_temp.message_window_showing
  46.       self.visible = false
  47.       @log_window.show
  48.       self.visible = true
  49.       return
  50.     end
  51.     # 呼び戻す
  52.     xrxs9ax_update_main
  53.   end
  54. end
  55. #==============================================================================
  56. # □ Window_MessageLog
  57. #------------------------------------------------------------------------------
  58. #   メッセージウィンドウで表示された履歴を保持・表示するウィンドウです。
  59. #==============================================================================
  60. class Window_MessageLog < Window_Base
  61.   #--------------------------------------------------------------------------
  62.   # ○ オブジェクト初期化
  63.   #--------------------------------------------------------------------------
  64.   def initialize
  65.     super(0,0,640,480)
  66.     self.visible = false
  67.     self.back_opacity = 160
  68.     self.contents = Bitmap.new(width - 32, XRXS9::BACKLOG_MAX_HEIGHT)
  69.     self.contents.font.color = XRXS9::NAME_WINDOW_TEXT_COLOR
  70.     self.contents.font.size  = XRXS9::NAME_WINDOW_TEXT_SIZE
  71.     @names = []
  72.     @contetns = []
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ○ 表示
  76.   #--------------------------------------------------------------------------
  77.   def show
  78.     self.refresh
  79.     self.visible = true
  80.     loop do
  81.       # ゲーム画面を更新
  82.       Graphics.update
  83.       # 入力情報を更新
  84.       Input.update
  85.       # フレーム更新
  86.       self.update
  87.       # B ボタンが押されたらループを中断
  88.       if Input.trigger?(Input::B)
  89.         # キャンセル SE を演奏
  90.         $game_system.se_play($data_system.cancel_se)
  91.         #
  92.         self.visible = false
  93.         break
  94.       end
  95.     end
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ○ フレーム更新
  99.   #--------------------------------------------------------------------------
  100.   def update
  101.     super
  102.     # 上キーが押されているとき
  103.     if Input.repeat?(Input::UP) and self.oy >= 32
  104.       # カーソル SE を演奏
  105.       $game_system.se_play($data_system.cursor_se)
  106.       #
  107.       self.oy -= 32
  108.       return
  109.     end
  110.     # 下キーが押されているとき
  111.     if Input.repeat?(Input::DOWN) and self.oy <= XRXS9::BACKLOG_MAX_HEIGHT - 448
  112.       # カーソル SE を演奏
  113.       $game_system.se_play($data_system.cursor_se)
  114.       #
  115.       self.oy += 32
  116.       return
  117.     end
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ○ 超過分のカット
  121.   #--------------------------------------------------------------------------
  122.   def cut_excess(limit_index)
  123.     for i in [email protected]
  124.       next if @contetns[i].nil?
  125.       @contetns[i].dispose
  126.       @contetns[i] = nil
  127.       @names[i] = nil
  128.     end
  129.     @contetns.compact!
  130.     @names.compact!
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ○ 履歴の追加 (メッセージコンテンツのコピー)
  134.   #--------------------------------------------------------------------------
  135.   def add_log(name, contents)
  136.     @names.insert(0, name.to_s)
  137.     @contetns.insert(0, contents.dup)
  138.     # 超過分を解放
  139.     cut_excess(XRXS9::BACKLOG_MAX_INDEX)
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ○ リフレッシュ
  143.   #--------------------------------------------------------------------------
  144.   def refresh
  145.     # 初期化
  146.     y = XRXS9::BACKLOG_MAX_HEIGHT
  147.     index = 0
  148.     self.contents.clear
  149.     # 各履歴の描画
  150.     loop do
  151.       contents = @contetns[index]
  152.       if contents.nil? or y <= 0
  153.         break
  154.       end
  155.       self.contents.blt(4, y - contents.height, contents, contents.rect)
  156.       y -= contents.height
  157.       self.contents.draw_text(4, y-24, 600, 24, @names[index].to_s)
  158.       y -= 32
  159.       index += 1
  160.     end
  161.     # 超過分を解放
  162.     cut_excess(index)
  163.     self.oy = XRXS9::BACKLOG_MAX_HEIGHT - 416
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ○ 解放
  167.   #--------------------------------------------------------------------------
  168.   def dispose
  169.     for contents in @contetns
  170.       next if contents.nil?
  171.       contents.dispose
  172.     end
  173.     super
  174.   end
  175. end
复制代码

恩恩。不好意思,我说错了。已经更新。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (暗夜天使)

名侦探小柯

梦石
10
星屑
4248
在线时间
3732 小时
注册时间
2006-9-6
帖子
37430

极短27获奖MZ评测员开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

5
发表于 2007-8-1 16:29:51 | 只看该作者
对话后记下来么?

这个魔塔里都有,
去下个魔塔样板来敲敲吧……
不定期回归 ~ 游戏开发之旅
———————————————————————————————
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

6
发表于 2007-8-1 18:05:17 | 只看该作者
楼顶已更新。这是热血的原脚本。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2026-6-30 05:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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