Project1

标题: 多个问题请教 [打印本页]

作者: SVM伟    时间: 2010-11-17 20:16
标题: 多个问题请教

1:我要在地图上显示某个变量,但要有开关操作,怎么做
2:有些脚本我需要开关操控,如何在一些现成的脚本前插入开关操作
3:在游戏过场时我要播放一个过场动画,怎么做
4:我只设一个主角,如何在看状态之类的直接跳转到主角

作者: 壬穹雷光    时间: 2010-11-17 20:20
除了第四个,其余的都可搜索得到= =
第四个请修改默认脚本中的菜单
作者: 企鹅达达    时间: 2010-11-18 16:05
第四个问题的答案……第一、二个真的可以搜索到的,第三个,你场景转换的时候播放一个动画不就得了
  1. #==============================================================================
  2. # RGSS2_一人旅メニュー
  3. # tomoaky (http://hikimoki.web.infoseek.co.jp/)
  4. #
  5. # 2010/05/18        公開
  6. #
  7. # メニューシーンのステータス表示を一人旅用のものに変更します、
  8. # 変更はパーティ人数が一人のときのみ有効になります。
  9. # なるべく素材の上の方に配置してください。
  10. #==============================================================================

  11. #==============================================================================
  12. # ■ Window_Status_Lonely
  13. #==============================================================================
  14. class Window_Status_Lonely < Window_Status
  15.   #--------------------------------------------------------------------------
  16.   # ● オブジェクト初期化
  17.   #     actor : アクター
  18.   #--------------------------------------------------------------------------
  19.   def initialize
  20.     super($game_party.members[0])
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● ウィンドウ内容の作成
  24.   #--------------------------------------------------------------------------
  25.   def create_contents
  26.     self.x = 160
  27.     self.width = 384
  28.     self.contents.dispose
  29.     self.contents = Bitmap.new(352, 384)
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● リフレッシュ
  33.   #--------------------------------------------------------------------------
  34.   def refresh
  35.     self.contents.clear
  36.     draw_actor_face(@actor, 2, 2, 92)
  37. #~     bitmap = Cache.picture("ファイル名")
  38. #~     self.contents.blt(self.contents.width - bitmap.width,
  39. #~       self.contents.height - bitmap.height, bitmap, bitmap.rect)
  40.     x = 104
  41.     y = WLH / 2
  42.     draw_actor_name(@actor, x, y)                 # 名前
  43.     draw_actor_class(@actor, x + 120, y)          # 職業
  44.     draw_actor_level(@actor, x, y + WLH * 1)      # レベル
  45.     draw_actor_state(@actor, x, y + WLH * 2)      # ステート
  46.     draw_actor_hp(@actor, x + 120, y + WLH * 1)   # HP
  47.     draw_actor_mp(@actor, x + 120, y + WLH * 2)   # MP
  48.     draw_equipments(4, y + WLH * 4)               # 装備
  49.     draw_parameters(4, y + WLH * 4 + 160)         # 能力値
  50.     draw_exp_info(self.contents.width - 180, y + WLH * 4 + 160) # 経験値情報
  51.   end
  52. end

  53. #==============================================================================
  54. # ■ Scene_Menu
  55. #==============================================================================
  56. class Scene_Menu < Scene_Base
  57.   #--------------------------------------------------------------------------
  58.   # ● 開始処理
  59.   #--------------------------------------------------------------------------
  60.   def start
  61.     super
  62.     create_menu_background
  63.     create_command_window
  64.     @gold_window = Window_Gold.new(0, 360)
  65.     if $game_party.members.size == 1
  66.       @status_window = Window_Status_Lonely.new
  67.     else
  68.       @status_window = Window_MenuStatus.new(160, 0)
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● コマンド選択の更新
  73.   #--------------------------------------------------------------------------
  74.   alias lonely_scene_menu_update_command_selection update_command_selection
  75.   def update_command_selection
  76.     if $game_party.members.size == 1
  77.       if Input.trigger?(Input::B)
  78.         Sound.play_cancel
  79.         $scene = Scene_Map.new
  80.       elsif Input.trigger?(Input::C)
  81.         if $game_party.members.size == 0 and @command_window.index < 4
  82.           Sound.play_buzzer
  83.           return
  84.         elsif $game_system.save_disabled and @command_window.index == 4
  85.           Sound.play_buzzer
  86.           return
  87.         end
  88.         Sound.play_decision
  89.         case @command_window.index
  90.         when 0      # アイテム
  91.           $scene = Scene_Item.new
  92.         when 1      # スキル
  93.           $scene = Scene_Skill.new(0)
  94.         when 2      # 装備
  95.           $scene = Scene_Equip.new(0)
  96.         when 3      # ステータス
  97.           $scene = Scene_Status.new(0)
  98.         when 4      # セーブ
  99.           $scene = Scene_File.new(true, false, false)
  100.         when 5      # ゲーム終了
  101.           $scene = Scene_End.new
  102.         end
  103.       end
  104.     else
  105.       lonely_scene_menu_update_command_selection
  106.     end
  107.   end
  108. end



复制代码

作者: SVM伟    时间: 2010-11-20 19:50
  1.   # 设定要显示的变量号
  2.   $variables_id = 1
  3.   
  4.   # 设置图标显示号
  5.   $icon_index = 2
  6. #------------------------------------------------------------------------

  7. # 新建窗口
  8. class Window_Variables < Window_Base
  9.   # 初始化
  10.   def initialize
  11.     # 创建大小
  12.     super(416,360,128,56)
  13.     # 获取图标编号
  14.     @icon = 0
  15.     # 获取变量编号
  16.     @variable = 0
  17.     # 刷新
  18.     refresh
  19.   # 初始化结束
  20.   end
  21.   # 刷新
  22.   def refresh
  23.     # 在图表与变量都有变化的情况下
  24.     if @icon != $icon_index or @variable != $game_variables[$variables_id]
  25.       # 清楚内容
  26.       self.contents.clear
  27.       # 描绘图表
  28.       draw_icon($icon_index,4,0,true)
  29.       # 描绘变量,偏右
  30.       self.contents.draw_text(32,0,64,24,$game_variables[$variables_id].to_s,2)
  31.       # 带入变量
  32.       @icon = $icon_index
  33.       @variable = $game_variables[$variables_id]
  34.     # if 结束
  35.     end
  36.   # 刷新结束
  37.   end
  38. # class 结束
  39. end

  40. # 地图生成窗口
  41. class Scene_Map < Scene_Base
  42.   # 生成窗口
  43.   alias new_start start
  44.   def start
  45.     new_start
  46.     @varia_window = Window_Variables.new
  47.   end
  48.   # 刷新窗口
  49.   alias new_update update
  50.   def update
  51.     new_update
  52.     @varia_window.refresh
  53.   end
  54.   # 释放窗口
  55.   alias new_terminate terminate
  56.   def terminate
  57.     @varia_window.dispose
  58.     new_terminate
  59.   end
  60. # class 结束
  61. end
  62.   
复制代码
1:有开关操控
2:显示图片去掉,我要显示文字
3:由于我要显示的变量不止一个,类似于一个显示时间变量,一个显示金钱变量之类的      所以我要不同的坐标不冲突,可以同时显示变量,可以显示文字,可以让显示变量的窗口透明.

作者: 企鹅达达    时间: 2010-11-20 21:56
本帖最后由 企鹅达达 于 2010-11-20 21:56 编辑

多个窗口.rar (240.62 KB, 下载次数: 37) 呃,我只解决了开关控制、显示文字、显示多个窗口的问题,其他的你慢慢想吧。增加窗口之类的方法我都写在备注里面了
p.s. 我也不懂脚本,但是一直不会并不是什么光荣的事……




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