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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: wodeaixier
打印 上一主题 下一主题

哎呀`救命啊! (图片菜单)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
帖子
745
11
发表于 2008-8-22 00:52:28 | 只看该作者
我说我的脚本就可以了?把我的这个脚本先放到main前
  1. #==============================================================================
  2. # ■ Window_Picture_Command
  3. #------------------------------------------------------------------------------
  4. =begin
  5. 该脚本是用图片做命令按钮,使用起来比较简单,脚本会自动判断位置。
  6. 使用方法:
  7. 与调用一般命令窗口一样!
  8. type描绘类型
  9. type = 1 只支持键盘
  10. type = 2 支持键盘+鼠标
  11. 如:先设定一个命令按钮图片以及坐标
  12. p1 = ["图片名",图片X坐标,图片Y坐标]
  13. 范例游戏里为
  14.     #################################################
  15.     s1 = ["新游戏",100,0]
  16.     s2 = ["继续游戏",200,150]
  17.     s3 = ["离开游戏",300,200]
  18.     @command_window = Window_Picture_Command.new([s1,s2,s3],type)
  19.     #################################################
  20.     这里的type的值就是刚才所支持的
  21.     type = 1 只支持键盘
  22.     type = 2 支持键盘+鼠标   
  23.     #################################################
  24.     s1 = ["新游戏",100,0]
  25.     s2 = ["继续游戏",200,150]
  26.     s3 = ["离开游戏",300,200]
  27.     @command_window = Window_Picture_Command.new([s1,s2,s3],2)
  28.     #################################################
  29.   大概就这样了,不明白看范例游戏吧。

  30. =end
  31. #==============================================================================
  32. class Window_Picture_Command < Window_Selectable
  33.   #--------------------------------------------------------------------------
  34.   # ● 初始化对像
  35.   #     width    : 窗口的宽
  36.   #     commands : 命令字符串序列
  37.   #--------------------------------------------------------------------------
  38.   def initialize(commands,type=1)
  39.     # 由命令的个数计算出窗口的高
  40.     super(0, 0, 640, 480)
  41.     @item_max = commands.size
  42.     @commands = commands
  43.     @dash = []
  44.     @sprite = []
  45.     @type = type
  46.     @move_index = self.index
  47.     self.opacity = 0
  48.     self.contents = Bitmap.new(width - 32, @item_max * 32)
  49.     refresh
  50.     self.index = 0
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 刷新
  54.   #--------------------------------------------------------------------------
  55.   def refresh
  56.     self.contents.clear
  57.     for i in 0...@item_max
  58.       draw_picture_item(i, @type)
  59.     end
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 释放
  63.   #--------------------------------------------------------------------------
  64.   def dispose
  65.     super
  66.     for index in @dash
  67.      if @sprite[index] != nil
  68.        @sprite[index].dispose
  69.        @sprite[index].bitmap.dispose
  70.      end
  71.     end
  72.   end  
  73.   #--------------------------------------------------------------------------
  74.   # ● 描绘图片项目
  75.   #     index : 项目编号
  76.   #     type  : 描绘类型
  77.   #     type = 1 只支持键盘
  78.   #     type = 2 双面支持
  79.   #--------------------------------------------------------------------------
  80.   def draw_picture_item(index, type)
  81.     @sprite[index] = Sprite.new
  82.     if @commands[index][0] == nil
  83.       p "图片名设置有误"
  84.     end
  85.     if @commands[index][1] == nil
  86.       p "图片X坐标设置有误"
  87.     end
  88.     if @commands[index][2] == nil
  89.       p "图片Y坐标设置有误"
  90.     end
  91.     bitmap = RPG::Cache.picture(@commands[index][0])
  92.     @sprite[index].bitmap = bitmap
  93.     @sprite[index].x = @commands[index][1]
  94.     @sprite[index].y = @commands[index][2]
  95.     @sprite[index].index = index
  96.     if @sprite[index].index != self.index
  97.       @sprite[index].color = Color.new(0,0,0,100)
  98.     else
  99.       @sprite[index].color = Color.new(0,0,0,0)
  100.     end
  101.     @dash.push(index)
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 刷新图片项目
  105.   #--------------------------------------------------------------------------
  106.   def update_item
  107.     if Mouse.get_mouse_pos != nil
  108.     $mouse_x,$mouse_y = Mouse.get_mouse_pos
  109.     end
  110.     if @type == 2
  111.     for index in @dash
  112.      if @sprite[index] != nil
  113.       top_x = @sprite[index].x
  114.       top_y = @sprite[index].y
  115.       bottom_x = top_x + @sprite[index].bitmap.width
  116.       bottom_y = top_y + @sprite[index].bitmap.height
  117.       if ($mouse_x > top_x) and ($mouse_y > top_y) and
  118.            ($mouse_x < bottom_x) and ($mouse_y < bottom_y)
  119.            self.index = @sprite[index].index
  120.            if @move_index != self.index
  121.            Se.ok
  122.            @move_index = self.index
  123.          end
  124.       end
  125.       if @sprite[index].index != self.index
  126.         @sprite[index].color = Color.new(0,0,0,100)
  127.       else
  128.         @sprite[index].color = Color.new(0,0,0,0)
  129.       end
  130.     end
  131.     end
  132.     elsif @type == 1
  133.      for index in @dash
  134.         if @sprite[index].index != self.index
  135.          @sprite[index].color = Color.new(0,0,0,100)
  136.        else
  137.         @sprite[index].color = Color.new(0,0,0,0)
  138.        end
  139.      end  
  140.     end
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 图片项目无效化
  144.   #     index : 项目编号
  145.   #--------------------------------------------------------------------------
  146.   def disable_item(index)
  147.     @sprite[index].color = Color.new(0,0,0,100)
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 刷新
  151.   #--------------------------------------------------------------------------
  152.   alias window_picture_command_update update
  153.   def update
  154.     window_picture_command_update
  155.     update_item
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 更新光标举行
  159.   #--------------------------------------------------------------------------
  160.   def update_cursor_rect
  161.     if @index < 0
  162.       self.cursor_rect.empty
  163.       return
  164.     end
  165.     row = @index / @column_max
  166.     if row < self.top_row
  167.       self.top_row = row
  168.     end
  169.     if row > self.top_row + (self.page_row_max - 1)
  170.       self.top_row = row - (self.page_row_max - 1)
  171.     end
  172.     cursor_width = self.width / @column_max - 32
  173.     x = @index % @column_max * (cursor_width + 32)
  174.     y = @index / @column_max * 32 - self.oy
  175.     self.cursor_rect.set(x+5000, y, cursor_width, 32)
  176.   end
  177. end
  178. #==============================================================================
  179. # ■ Se
  180. #------------------------------------------------------------------------------
  181. # ■ 音效模块
  182. #==============================================================================
  183. module Se
  184.   def self.ok
  185.     $game_system.se_play($data_system.cursor_se)
  186.   end
  187.   def self.no
  188.     $game_system.se_play($data_system.cancel_se)
  189.   end
  190. end
  191. #==============================================================================
  192. # ■ Sprite
  193. #------------------------------------------------------------------------------
  194. # ■ index 选择光标
  195. #==============================================================================
  196. class Sprite
  197.   attr_accessor :index
  198. end
复制代码

然后我帮你写了个5选择的图片菜单图片自己放进去,效果自己设置了
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title
  7.   #--------------------------------------------------------------------------
  8.   # ● 住处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 战斗测试的情况下
  12.     if $BTEST
  13.       battle_test
  14.       return
  15.     end
  16.     # 载入数据库
  17.     $data_actors        = load_data("Data/Actors.rxdata")
  18.     $data_classes       = load_data("Data/Classes.rxdata")
  19.     $data_skills        = load_data("Data/Skills.rxdata")
  20.     $data_items         = load_data("Data/Items.rxdata")
  21.     $data_weapons       = load_data("Data/Weapons.rxdata")
  22.     $data_armors        = load_data("Data/Armors.rxdata")
  23.     $data_enemies       = load_data("Data/Enemies.rxdata")
  24.     $data_troops        = load_data("Data/Troops.rxdata")
  25.     $data_states        = load_data("Data/States.rxdata")
  26.     $data_animations    = load_data("Data/Animations.rxdata")
  27.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system        = load_data("Data/System.rxdata")
  30.     # 生成系统对像
  31.     $game_system = Game_System.new
  32.     # 生成标题图形
  33.     @sprite = Sprite.new
  34.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  35.     # 生成命令窗口
  36.     s1 = ["新的游戏",100,0]
  37.     s2 = ["继续游戏",200,150]
  38.     s3 = ["制作人员",300,200]
  39.     s4 = ["关于游戏",400,250]
  40.     s5 = ["离开游戏",500,300]
  41.     @command_window = Window_Picture_Command.new([s1,s2,s3,s4,s5],1)
  42.     @command_window.back_opacity = 160
  43.     @command_window.x = 320 - @command_window.width / 2
  44.     @command_window.y = 288
  45.     # 判定继续的有效性
  46.     # 存档文件一个也不存在的时候也调查
  47.     # 有効为 @continue_enabled 为 true、無効为 false
  48.     @continue_enabled = false
  49.     for i in 0..3
  50.       if FileTest.exist?("Save#{i+1}.rxdata")
  51.         @continue_enabled = true
  52.       end
  53.     end
  54.     # 继续为有效的情况下、光标停止在继续上
  55.     # 无效的情况下、继续的文字显示为灰色
  56.     if @continue_enabled
  57.       @command_window.index = 1
  58.     else
  59.       @command_window.disable_item(1)
  60.     end
  61.     # 演奏标题 BGM
  62.     $game_system.bgm_play($data_system.title_bgm)
  63.     # 停止演奏 ME、BGS
  64.     Audio.me_stop
  65.     Audio.bgs_stop
  66.     # 执行过渡
  67.     Graphics.transition
  68.     # 主循环
  69.     loop do
  70.       # 刷新游戏画面
  71.       Graphics.update
  72.       # 刷新输入信息
  73.       Input.update
  74.       # 刷新画面
  75.       update
  76.       # 如果画面被切换就中断循环
  77.       if $scene != self
  78.         break
  79.       end
  80.     end
  81.     # 装备过渡
  82.     Graphics.freeze
  83.     # 释放命令窗口
  84.     @command_window.dispose
  85.     # 释放标题图形
  86.     @sprite.bitmap.dispose
  87.     @sprite.dispose
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 刷新画面
  91.   #--------------------------------------------------------------------------
  92.   def update
  93.     # 刷新命令窗口
  94.     @command_window.update
  95.     # 按下 C 键的情况下
  96.     if Input.trigger?(Input::C)
  97.       # 命令窗口的光标位置的分支
  98.       case @command_window.index
  99.       when 0  # 新游戏
  100.         command_new_game
  101.       when 1  # 继续
  102.         command_continue
  103.       when 2  # 退出
  104.         command_shutdown
  105.       end
  106.     end
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 命令 : 新游戏
  110.   #--------------------------------------------------------------------------
  111.   def command_new_game
  112.     # 演奏确定 SE
  113.     $game_system.se_play($data_system.decision_se)
  114.     # 停止 BGM
  115.     Audio.bgm_stop
  116.     # 重置测量游戏时间用的画面计数器
  117.     Graphics.frame_count = 0
  118.     # 生成各种游戏对像
  119.     $game_temp          = Game_Temp.new
  120.     $game_system        = Game_System.new
  121.     $game_switches      = Game_Switches.new
  122.     $game_variables     = Game_Variables.new
  123.     $game_self_switches = Game_SelfSwitches.new
  124.     $game_screen        = Game_Screen.new
  125.     $game_actors        = Game_Actors.new
  126.     $game_party         = Game_Party.new
  127.     $game_troop         = Game_Troop.new
  128.     $game_map           = Game_Map.new
  129.     $game_player        = Game_Player.new
  130.     # 设置初期同伴位置
  131.     $game_party.setup_starting_members
  132.     # 设置初期位置的地图
  133.     $game_map.setup($data_system.start_map_id)
  134.     # 主角向初期位置移动
  135.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  136.     # 刷新主角
  137.     $game_player.refresh
  138.     # 执行地图设置的 BGM 与 BGS 的自动切换
  139.     $game_map.autoplay
  140.     # 刷新地图 (执行并行事件)
  141.     $game_map.update
  142.     # 切换地图画面
  143.     $scene = Scene_Map.new
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 命令 : 继续
  147.   #--------------------------------------------------------------------------
  148.   def command_continue
  149.     # 继续无效的情况下
  150.     unless @continue_enabled
  151.       # 演奏无效 SE
  152.       $game_system.se_play($data_system.buzzer_se)
  153.       return
  154.     end
  155.     # 演奏确定 SE
  156.     $game_system.se_play($data_system.decision_se)
  157.     # 切换到读档画面
  158.     $scene = Scene_Load.new
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 命令 : 退出
  162.   #--------------------------------------------------------------------------
  163.   def command_shutdown
  164.     # 演奏确定 SE
  165.     $game_system.se_play($data_system.decision_se)
  166.     # BGM、BGS、ME 的淡入淡出
  167.     Audio.bgm_fade(800)
  168.     Audio.bgs_fade(800)
  169.     Audio.me_fade(800)
  170.     # 退出
  171.     $scene = nil
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 战斗测试
  175.   #--------------------------------------------------------------------------
  176.   def battle_test
  177.     # 载入数据库 (战斗测试用)
  178.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  179.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  180.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  181.     $data_items         = load_data("Data/BT_Items.rxdata")
  182.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  183.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  184.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  185.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  186.     $data_states        = load_data("Data/BT_States.rxdata")
  187.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  188.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  189.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  190.     $data_system        = load_data("Data/BT_System.rxdata")
  191.     # 重置测量游戏时间用的画面计数器
  192.     Graphics.frame_count = 0
  193.     # 生成各种游戏对像
  194.     $game_temp          = Game_Temp.new
  195.     $game_system        = Game_System.new
  196.     $game_switches      = Game_Switches.new
  197.     $game_variables     = Game_Variables.new
  198.     $game_self_switches = Game_SelfSwitches.new
  199.     $game_screen        = Game_Screen.new
  200.     $game_actors        = Game_Actors.new
  201.     $game_party         = Game_Party.new
  202.     $game_troop         = Game_Troop.new
  203.     $game_map           = Game_Map.new
  204.     $game_player        = Game_Player.new
  205.     # 设置战斗测试用同伴
  206.     $game_party.setup_battle_test_members
  207.     # 设置队伍 ID、可以逃走标志、战斗背景
  208.     $game_temp.battle_troop_id = $data_system.test_troop_id
  209.     $game_temp.battle_can_escape = true
  210.     $game_map.battleback_name = $data_system.battleback_name
  211.     # 演奏战斗开始 BGM
  212.     $game_system.se_play($data_system.battle_start_se)
  213.     # 演奏战斗 BGM
  214.     $game_system.bgm_play($game_system.battle_bgm)
  215.     # 切换到战斗画面
  216.     $scene = Scene_Battle.new
  217.   end
  218. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
12
发表于 2008-8-22 01:47:35 | 只看该作者
看的懂就拿去吧。。。。。。
其实是很没技术的东西,就是实现点效果而已


  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 住处理
  9.   #--------------------------------------------------------------------------
  10.   def main_start
  11.     super
  12.     @vp = Viewport.new(0,0,640,480)
  13.     _load_data_
  14.     Mess_Text.visible = true
  15.     # 生成系统对像
  16.     $game_system = Game_System.new
  17.     @index = 2
  18.     @titlepic =0
  19.     @time = 0
  20.     # 生成标题图形
  21.     @sprite = Sprite.new(@vp)
  22.     @sprite.bitmap = RPG::Cache.picture("back/#{$game_system.titleback}")
  23.     @white = []
  24.     # 横白条
  25.     @white[1] = RPG::Sprite.new(@vp)
  26.     @white[1].x , @white[1].y = -640, 188
  27.     @white[1].opacity = 100
  28.     @white[1].bitmap = Bitmap.new(650,94)
  29.     @white[1].bitmap.fill_rect(0,0,650,94,Color.new(255,5,255,255))
  30.     #@white[1].flash(Color.new(255,5,255,255), 20)
  31.     # 小块图象
  32.     @sprite1 = RPG::Sprite.new(@vp)
  33.     @sprite1.x , @sprite1.y = 420, 190
  34.     @sprite1.bitmap = RPG::Cache.picture("back/#{$game_system.titleback}1")
  35.     # 竖白条
  36.     @white[0] = RPG::Sprite.new(@vp)
  37.     @white[0].x , @white[0].y = 420, 0
  38.     @white[0].bitmap = Bitmap.new(200,480)
  39.     @white[0].bitmap.fill_rect(0,0,200,480,Color.new(255,255,255,100))
  40.     # 八云图
  41.     @white[2] = RPG::Sprite.new(@vp)
  42.     @white[2].x , @white[2].y = 30, 170
  43.     @white[2].bitmap = RPG::Cache.picture("back/bayun")
  44.     # 标题字
  45.     @white[3] = RPG::Sprite.new(@vp)
  46.     @white[3].x , @white[3].y = 20, 20
  47.     @white[3].opacity = 255
  48.     @white[3].bitmap = RPG::Cache.picture("back/zi")
  49.     #@white[0].flash(Color.new(255,5,255,255), 20)
  50.     @t = 0
  51.     # 生成命令窗口
  52.     s = [" 制作团队"," 心灵花园"," 操作说明"," 新的开始"," 读取存档"," 退出游戏"," 网站连接"]
  53.     @sprites = []
  54.     for i in 0...7
  55.       if i == 0    ; color = Color.new(255,  0,255,150)
  56.       elsif i == 1 ; color = Color.new(255,  0,  0,150)
  57.       elsif i == 2 ; color = Color.new(255,100,  0,150)
  58.       elsif i == 3 ; color = Color.new(255,255,  0,150)
  59.       elsif i == 4 ; color = Color.new(0,  255,  0,150)
  60.       elsif i == 5 ; color = Color.new(0,  255,255,150)
  61.       elsif i == 6 ; color = Color.new(0,  0,  255,150)
  62.       end
  63.       @sprites[i] = Sprite.new(@vp)
  64.       @sprites[i].bitmap = Bitmap.new(200,95)
  65.       #@sprites[i].x,@sprites[i].y = 420, 95*(i-1)
  66.       @sprites[i].x,@sprites[i].y = 420, 95*(i-7)-6
  67.       @sprites[i].bitmap.font.size = 26
  68.       @sprites[i].bitmap.fill_rect(0,0,200,90,color)
  69.       @sprites[i].bitmap.draw_text(80,50,100,40,s[i])
  70.       @sprites[i].bitmap.draw_text(40,15,100,40,"www.66rpg.com") if s[i]==" 网站连接"
  71.       @sprites[i].bitmap.draw_line(180,0,199,94,Color.new(255,255,255,100))
  72.       # 4条白边
  73.       @sprites[i].bitmap.draw_line(0,0,199,0,Color.new(255,255,255,200))
  74.       @sprites[i].bitmap.draw_line(0,4,199,4,Color.new(255,255,255,200))
  75.       @sprites[i].bitmap.draw_line(0,8,199,8,Color.new(255,255,255,200))
  76.       @sprites[i].bitmap.draw_line(0,90,199,90,Color.new(255,255,255,200))
  77.       @sprites[i].bitmap.draw_line(0,86,199,86,Color.new(255,255,255,200))
  78.       @sprites[i].bitmap.draw_line(0,0,0,90,Color.new(255,255,255,200))
  79.       @sprites[i].bitmap.draw_line(4,0,4,90,Color.new(255,255,255,200))
  80.       @sprites[i].bitmap.draw_line(8,0,8,90,Color.new(255,255,255,200))
  81.       @sprites[i].bitmap.draw_line(195,0,195,90,Color.new(255,255,255,200))
  82.       @sprites[i].bitmap.draw_line(199,0,199,90,Color.new(255,255,255,200))
  83.       
  84.     end
  85.     # jiong猪
  86.     @white[3] = RPG::Sprite.new(@vp)
  87.     @white[3].x , @white[3].y = 440, 225
  88.     @white[3].bitmap = RPG::Cache.picture("back/j")
  89.     @sprites[6].x,@sprites[6].y = 420, 475
  90.     @continue_enabled = false
  91.     for i in 0..3
  92.       if FileTest.exist?("Save/Save#{i+1}.rxdata")
  93.         @continue_enabled = true
  94.       end
  95.     end
  96.     # 继续为有效的情况下、光标停止在继续上
  97.     # 无效的情况下、继续的文字显示为灰色
  98.     #if @continue_enabled
  99.     #  @index == 4
  100.     #else
  101.     #  @command_window.disable_item(1)
  102.     #end
  103.     # 演奏标题 BGM
  104.     $game_system.bgm_play($data_system.title_bgm)
  105.     # 停止演奏 ME、BGS
  106.     Audio.me_stop
  107.     Audio.bgs_stop
  108.     super
  109.     Graphics.transition
  110.     for j in 1...7
  111.       for i in 0...6
  112.         @white[1].x += 107 if j == 1
  113.         @sprites[6-j].y += 96
  114.         #if i == 11
  115.         #  @sprites[6-j].y += 48
  116.         #end
  117.         Graphics.update
  118.       end
  119.     end
  120.     @text = "THE MAN WHO HAS MADE UP HIS MIND TO WIN WILL NEVER SAY IMPOSSIBLE!"
  121.     @white[1].bitmap.font.size = 90
  122.     @white[1].bitmap.font.bold = true
  123.     @white[1].bitmap.font.name = ["Arial Black", "黑体"]
  124.     @white[1].bitmap.draw_text(650,-3,650,94,@text)
  125.    
  126.    
  127.   end
  128.   def _load_data_
  129.     # 载入数据库
  130.     $data_actors        = load_data("Data/Actors.rxdata")
  131.     $data_classes       = load_data("Data/Classes.rxdata")
  132.     $data_skills        = load_data("Data/Skills.rxdata")
  133.     $data_items         = load_data("Data/Items.rxdata")
  134.     $data_weapons       = load_data("Data/Weapons.rxdata")
  135.     $data_armors        = load_data("Data/Armors.rxdata")
  136.     $data_enemies       = load_data("Data/Enemies.rxdata")
  137.     $data_troops        = load_data("Data/Troops.rxdata")
  138.     $data_states        = load_data("Data/States.rxdata")
  139.     $data_animations    = load_data("Data/Animations.rxdata")
  140.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  141.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  142.     $data_system        = load_data("Data/System.rxdata")
  143.     $qianzui_weapons    = load_data("Data/Weapons1.rxdata")
  144.     $qianzui_armors     = load_data("Data/Armors1.rxdata")

  145.   #--------------------------------------------------------------------------
  146.   # ● 刷新画面
  147.   #--------------------------------------------------------------------------
  148.   def update
  149.     super
  150.     #@white[1].whiten
  151.     #for i in [email protected]
  152.     #  @white[i].update
  153.     #end
  154.     if $game_system.titleback != @titlepic
  155.       #@sprite.bitmap.clear
  156.       #@sprite1.bitmap.clear
  157.       @sprite.bitmap  = RPG::Cache.picture("back/#{$game_system.titleback}")
  158.       @sprite1.bitmap = RPG::Cache.picture("back/#{$game_system.titleback}1")
  159.       @titlepic = $game_system.titleback
  160.     end
  161.     update_white
  162.     # 按下 C 键的情况下
  163.     if Input.trigger?(Input::C)
  164.       # 命令窗口的光标位置的分支
  165.       case @index
  166.       when 0
  167.         command_about
  168.       when 1
  169.         command_caozuoshuoming
  170.       when 2  # 新游戏
  171.         command_new_game
  172.       when 3  # 继续
  173.         command_continue
  174.       when 4  # 退出
  175.         command_shutdown
  176.       when 5
  177.         command_website
  178.       when 6
  179.         command_make
  180.       end
  181.     elsif Input.repeat?(Input::DOWN) or Kboard.repeat?($R_Key_S)
  182.       $game_system.se_play($data_system.cursor_se)
  183.       @index += 1
  184.       @index %= 7
  185.       $game_system.titleback = @index
  186.       refresh("down")
  187.     elsif Input.repeat?(Input::UP) or Kboard.repeat?($R_Key_W)
  188.       $game_system.se_play($data_system.cursor_se)
  189.       @index -= 1
  190.       @index %= 7
  191.       $game_system.titleback = @index
  192.       refresh("up")
  193.     elsif Input.repeat?(Input::RIGHT) or Kboard.repeat?($R_Key_D)
  194.       $game_system.se_play($data_system.cursor_se)
  195.     elsif Input.repeat?(Input::LEFT) or Kboard.repeat?($R_Key_A)
  196.       $game_system.se_play($data_system.cursor_se)
  197.     end
  198.     #----------------------------------
  199.    
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   def dispose
  203.     @sprite.bitmap.dispose
  204.     @sprite.dispose
  205.     @sprite1.bitmap.dispose
  206.     @sprite1.dispose
  207.     for i in [email protected]
  208.       @sprites[i].bitmap.dispose
  209.       @sprites[i].dispose
  210.     end
  211.     for i in [email protected]
  212.       @white[i].bitmap.dispose
  213.       @white[i].dispose
  214.     end
  215.   end
  216.   #--------------------------------------------------------------------------
  217.   def update_white
  218.     @time = 0 if @time > 900
  219.     @white[1].bitmap.clear
  220.     @white[1].bitmap.fill_rect(0,0,650,94,Color.new(255,5,255,255))
  221.     @white[1].bitmap.font.name = ["Arial Black", "黑体"]
  222.     @white[1].bitmap.draw_text(650-@time*3,-3,1800,94,@text)
  223.     @time += 1
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   def refresh(type)
  227.     case type
  228.     when "down"
  229.       #@sprite1.opacity = 0
  230.       for i in 0...7
  231.         #Graphics.transition
  232.         for u in 0...5
  233.           @sprites[i].y -= 21
  234.           if u == 4
  235.             @sprites[i].y += 10
  236.           end
  237.           update_white
  238.           Graphics.update
  239.         end
  240.       end
  241.       #@sprite1.opacity = 255
  242.       @sprites[0].y = 475
  243.       bitmap = @sprites[0]
  244.       @sprites.shift
  245.       @sprites[6] = bitmap
  246.       
  247.     when "up"
  248.      # @sprite1.opacity = 0
  249.       for i in 0...7
  250.         #Graphics.transition
  251.         for u in 0...5
  252.           @sprites[6-i].y += 21
  253.           if u == 4
  254.             @sprites[6-i].y -= 10
  255.           end
  256.           update_white
  257.           Graphics.update
  258.         end
  259.       end
  260.       #@sprite1.opacity = 255
  261.       @sprites[6].y = -95
  262.       bitmap = @sprites[6]
  263.       @sprites.insert(0,0)
  264.       @sprites[0] = bitmap
  265.     end
  266.     return
  267.   end  
  268.   #--------------------------------------------------------------------------
  269.   # ● 命令 : 新游戏
  270.   #--------------------------------------------------------------------------
  271.   def command_new_game
  272.     # 演奏确定 SE
  273.     $game_system.se_play($data_system.decision_se)
  274.     # 停止 BGM
  275.     Audio.bgm_stop
  276.     # 重置测量游戏时间用的画面计数器
  277.     Graphics.frame_count = 0
  278.     # 生成各种游戏对像
  279.     $game_temp          = Game_Temp.new
  280.     $game_system        = Game_System.new
  281.     $game_switches      = Game_Switches.new
  282.     $game_variables     = Game_Variables.new
  283.     $game_self_switches = Game_SelfSwitches.new
  284.     $game_screen        = Game_Screen.new
  285.     $game_actors        = Game_Actors.new
  286.     $game_skills        = Game_Skills.new
  287.     $game_party         = Game_Party.new
  288.     $game_troop         = Game_Troop.new
  289.     $game_map           = Game_Map.new
  290.     $game_player        = Game_Player.new
  291.     # 设置初期同伴位置
  292.     $game_party.setup_starting_members
  293.     # 设置初期位置的地图
  294.     $game_map.setup($data_system.start_map_id)
  295.     # 主角向初期位置移动
  296.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  297.     # 刷新主角
  298.     $game_player.refresh
  299.     # 执行地图设置的 BGM 与 BGS 的自动切换
  300.     $game_map.autoplay
  301.     # 刷新地图 (执行并行事件)
  302.     $game_map.update
  303.     #####################设置开始参数############
  304.     $game_variables[5] = 0
  305.    
  306.     # 切换地图画面
  307.     dispose
  308.     $scene = Scene_Map.new
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● 命令 : 继续
  312.   #--------------------------------------------------------------------------
  313.   def command_continue
  314.     # 继续无效的情况下
  315.     unless @continue_enabled
  316.       # 演奏无效 SE
  317.       $game_system.se_play($data_system.buzzer_se)
  318.       return
  319.     end
  320.     # 演奏确定 SE
  321.     $game_system.se_play($data_system.decision_se)
  322.     # 切换到读档画面
  323.     dispose
  324.     $scene = Scene_Load.new
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # ● 命令 : 操作说明
  328.   #--------------------------------------------------------------------------
  329.   def command_caozuoshuoming
  330.     # 演奏确定 SE
  331.     $game_system.se_play($data_system.decision_se)
  332.     # 切换到读档画面
  333.     dispose
  334.     $scene = Scene_Caozuoshuoming.new
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # ● 命令 : 游戏介绍
  338.   #--------------------------------------------------------------------------
  339.   def command_about
  340.     # 演奏确定 SE
  341.     $game_system.se_play($data_system.decision_se)
  342.     # 切换到读档画面
  343.     dispose
  344.     $scene = Scene_About.new
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   # ● 命令 : 制作团队
  348.   #--------------------------------------------------------------------------
  349.   def command_make
  350.     # 演奏确定 SE
  351.     $game_system.se_play($data_system.decision_se)
  352.     # 切换到读档画面
  353.     dispose
  354.     $scene = Scene_Make.new
  355.   end
  356.   #--------------------------------------------------------------------------
  357.   # ● 命令 : 网站连接
  358.   #--------------------------------------------------------------------------
  359.   def command_website
  360.     $game_system.se_play($data_system.decision_se)
  361.     $bb_66rpg = Win32API.new('shell32.dll','ShellExecuteA',%w(p p p p p i),'i')
  362.     $bb_66rpg.call(0, 'open', 'http://rpg.blue/web/',0, 0, 1)
  363.     $scene = nil
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ● 命令 : 退出
  367.   #--------------------------------------------------------------------------
  368.   def command_shutdown
  369.     # 演奏确定 SE
  370.     $game_system.se_play($data_system.decision_se)
  371.     # BGM、BGS、ME 的淡入淡出
  372.     Audio.bgm_fade(800)
  373.     Audio.bgs_fade(800)
  374.     Audio.me_fade(800)
  375.     # 退出
  376.     $scene = nil
  377.   end
  378. end
复制代码
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
13
发表于 2008-8-22 01:49:01 | 只看该作者
以下引用冰城飞狐于2008-8-21 14:45:28的发言:


以下引用hitlerson于2008-8-21 14:33:30的发言:



来晒下偶滴标题界面


玲……
你這是啥遊戲啊……
竟然把玲都放上去了……


泡八云的游戏,哈哈~~~~~~~~~
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-22 19:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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