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

Project1

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

[已经过期] 显示先后问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
322 小时
注册时间
2011-6-24
帖子
274
跳转到指定楼层
1
发表于 2012-4-7 15:09:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sblkhgm 于 2012-4-7 15:18 编辑

怎样让这  10号动画 显示在 图片和坐标文字的后面
  1. ]#==============================================================================
  2. # ■ Scene_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面的类。
  5. #==============================================================================

  6. class Scene_Map
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main

  11.     # 地图窗口
  12.     #@map_window         = Window_Map.new
  13.     #@map_window.visible = $game_temp.map_visible
  14.     # 生成活动块
  15.     @spriteset = Spriteset_Map.new
  16.     # 生成快捷窗口
  17.     @goods_window = Window_Goods.new
  18.     # 生成头像窗口
  19.     @head_window = Window_Head.new
  20.     @head_window.x = 370
  21.     @head_window.y = -16
  22.     # 生成信息窗口
  23.     @message_window = Window_Message.new
  24.     # 执行过渡
  25.     Graphics.transition     

  26.     #小提示
  27.     #●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  28.     @xy_skin = Sprite.new
  29.     @xy_skin.bitmap = RPG::Cache.windowskin("win_xy")
  30.     @xy_info = Sprite.new
  31.     @xy_info.bitmap = Bitmap.new(118,79)
  32.     @xy_info.bitmap.font = Font.new("宋体",14)
  33.     @xy_info.bitmap.draw_text(20, 14, 77, 17, $game_map.name, 1)
  34.     @xy_x = $game_player.x
  35.     @xy_y = $game_player.y
  36.     txt = "X:" + $game_player.x.to_s + " Y:" + $game_player.y.to_s
  37.     @xy_info.bitmap.draw_text(2, 63, 116, 16, txt, 1)
  38.         
  39.     @l_animation = RPG::Sprite.new
  40.         @l_animation.loop_animation($data_animations[10])
  41.         @l_animation.x = 0
  42.         @l_animation.y = 10
  43.     # 主循环
  44.     loop do
  45.      @l_animation.update
  46.       # 刷新游戏画面
  47.       Graphics.update
  48.       # 刷新输入信息
  49.       Input.update
  50.       # 刷新画面
  51.       update
  52.       # 如果画面切换的话就中断循环
  53.       if $scene != self
  54.         break
  55.       end
  56.     end
  57.      # 准备过渡
  58.     Graphics.freeze
  59.     # 释放活动块
  60.     @spriteset.dispose
  61.     # 释放信息窗口
  62.     @message_window.dispose

  63.    
  64.     #释放头像窗口
  65.     @head_window.dispose
  66.     #释放地图窗口
  67.     #@map_window.dispose
  68.     @goods_window.dispose
  69.     @xy_skin.bitmap.dispose
  70.     @xy_skin.dispose
  71.     @xy_info.bitmap.dispose
  72.     @xy_info.dispose
  73.     RPG::Cache.clear
  74.     # 标题画面切换中的情况下
  75.     if $scene.is_a?(Scene_Title)
  76.       # 淡入淡出画面
  77.       Graphics.transition
  78.       Graphics.freeze
  79.     end
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 显示UI界面
  83.   #--------------------------------------------------------------------------
  84.   def show_ui(show = true)
  85.     if show
  86.       @head_window.visible = true
  87.       @goods_window.all_visible(true)
  88.       $message_sprite_background.visible = true
  89.       $message_sprite.visible = true
  90.       @xy_skin.visible = true
  91.       @xy_info.visible = true
  92.     else
  93.       @head_window.visible = false
  94.       @goods_window.all_visible(false)
  95.       $message_sprite_background.visible = false
  96.       $message_sprite.visible = false
  97.       @xy_skin.visible = false
  98.       @xy_info.visible = false
  99.     end
  100.     return
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 刷新头像窗口
  104.   #--------------------------------------------------------------------------
  105.   def update_head
  106.     @head_window.refresh
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新画面
  110.   #--------------------------------------------------------------------------
  111.   def update
  112.     # 循环
  113.     loop do
  114.       # 按照地图、实例、主角的顺序刷新
  115.       # (本更新顺序不会在的满足事件的执行条件下成为给予角色瞬间移动
  116.       #  的机会的重要因素)
  117.       $game_map.update
  118.       $game_system.map_interpreter.update
  119.       $game_player.update
  120.       # 系统 (计时器)、画面刷新
  121.       $game_system.update
  122.       $game_screen.update
  123.       # 如果主角在场所移动中就中断循环
  124.       unless $game_temp.player_transferring
  125.         break
  126.       end
  127.       # 执行场所移动
  128.       transfer_player
  129.       # 处理过渡中的情况下、中断循环
  130.       if $game_temp.transition_processing
  131.         break
  132.       end
  133.     end
  134.     #不显示界面UI
  135.     if Kboard.keyboard($R_Key_TAB)
  136.       if @head_window.visible
  137.         @head_window.visible = false
  138.         @goods_window.all_visible(false)
  139.         $message_sprite_background.visible = false
  140.         $message_sprite.visible = false
  141.         @xy_skin.visible = false
  142.         @xy_info.visible = false
  143.       else
  144.         @head_window.visible = true
  145.         @goods_window.all_visible(true)
  146.         $message_sprite_background.visible = true
  147.         $message_sprite.visible = true
  148.         @xy_skin.visible = true
  149.         @xy_info.visible = true
  150.       end
  151.     elsif Kboard.keyboard($R_Key_F4)
  152.       Screen::shot1
  153.       Audio.se_play("Audio/SE/"+"camera",100,100)
  154.     end
  155.     #@goods_window.update
  156.     # 刷新活动块
  157.     @spriteset.update
  158.     # 刷新信息窗口
  159.     @message_window.update
  160.     if @xy_x != $game_player.x or @xy_y != $game_player.y
  161.       @xy_x = $game_player.x
  162.       @xy_y = $game_player.y
  163.       txt = "X:" + @xy_x.to_s + " Y:" + @xy_y.to_s
  164.       #如果坐标信息为显示时
  165.       if @xy_info.visible
  166.         @xy_info.bitmap.clear
  167.         @xy_info.bitmap.draw_text(20, 14, 77, 17, $game_map.name, 1)
  168.         @xy_info.bitmap.draw_text(2, 63, 116, 16, txt, 1)
  169.       end
  170.     end
  171.     # 游戏结束的情况下
  172.     if $game_temp.gameover
  173.       # 切换的游戏结束画面
  174.       $scene = Scene_Gameover.new
  175.       return
  176.     end
  177.     # 返回标题画面的情况下
  178.     if $game_temp.to_title
  179.       # 切换到标题画面
  180.       $scene = Scene_Title.new
  181.       return
  182.     end
  183.     # 处理过渡中的情况下
  184.     if $game_temp.transition_processing
  185.       # 清除过渡处理中标志
  186.       $game_temp.transition_processing = false
  187.       # 执行过渡
  188.       if $game_temp.transition_name == ""
  189.         Graphics.transition(20)
  190.       else
  191.         Graphics.transition(40, "Graphics/Transitions/" +
  192.           $game_temp.transition_name)
  193.       end
  194.     end
  195.     # 显示信息窗口中的情况下
  196.     if $game_temp.message_window_showing
  197.       return
  198.     end
  199.     # 遇敌计数为 0 且、且遇敌列表不为空的情况下
  200.     if $game_player.encounter_count == 0 and $game_map.encounter_list != []
  201.       # 不是在事件执行中或者禁止遇敌中
  202.       unless $game_system.map_interpreter.running? or
  203.              $game_system.encounter_disabled
  204.         # 确定队伍
  205.         n = rand($game_map.encounter_list.size)
  206.         troop_id = $game_map.encounter_list[n]
  207.         # 队伍有效的话
  208.         if $data_troops[troop_id] != nil
  209.           # 设置调用战斗标志
  210.           $game_temp.battle_calling = true
  211.           $game_temp.battle_troop_id = troop_id
  212.           $game_temp.battle_can_escape = true
  213.           $game_temp.battle_can_lose = false
  214.           $game_temp.battle_proc = nil
  215.         end
  216.       end
  217.     end
  218.     unless $game_system.map_interpreter.running? or $game_system.menu_disabled
  219.       if Kboard.keyb($R_Key_ALT) == 1 and Kboard.keyb($R_Key_Q) == 1 and $anzhu == nil
  220.         $game_system.se_play($data_system.decision_se)
  221.         $anzhu = 1
  222.         $scene = Scene_Task.new
  223.       elsif Kboard.keyb($R_Key_ALT) == 1 and Kboard.keyb($R_Key_E) == 1 and $anzhu == nil
  224.         $game_system.se_play($data_system.decision_se)
  225.         $anzhu = 1
  226.         $scene = Scene_Item.new
  227.       elsif Kboard.keyb($R_Key_ALT) == 1 and Kboard.keyb($R_Key_I) == 1 and $anzhu == nil
  228.         $anzhu = 1
  229.         p $game_map.map_id
  230.       end
  231.       if $anzhu == 1
  232.         $anzhu = nil
  233.       end
  234.     end
  235.     # 按下 B 键的情况下
  236.     #●●●●●●●●●●●屏蔽鼠标右键打开菜单●●●●●●●●●●●●●●●●
  237.     #加入判断鼠标没有点击右键的情况下
  238.     if Input.trigger?(Input::B) and not Mouse.trigger?(Mouse::RIGHT)
  239.       # 不是在事件执行中或菜单禁止中
  240.       unless $game_system.map_interpreter.running? or
  241.              $game_system.menu_disabled
  242.         # 设置菜单调用标志以及 SE 演奏
  243.         $game_temp.menu_calling = true
  244.         $game_temp.menu_beep = true
  245.       end
  246.     end
  247.     #●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  248.     # 不是在事件执行中或菜单禁止中
  249.     unless $game_system.map_interpreter.running? or
  250.       $game_system.menu_disabled
  251.       mouse_x, mouse_y = Mouse.get_mouse_pos
  252.       #选中了宝宝
  253.       if mouse_x> 389 and mouse_x< 430 and mouse_y> 0 and mouse_y< 41
  254.         @head_window.refresh_baby
  255.       #选中了人物
  256.       elsif mouse_x> 510 and mouse_x< 564 and mouse_y> 0 and mouse_y< 53
  257.         @head_window.refresh_actor
  258.       #选中了道具
  259.       elsif mouse_x> 330 and mouse_x< 370 and mouse_y> 430 and mouse_y< 470
  260.         @goods_window.draw_goods
  261.       #选中了任务
  262.       elsif mouse_x> 483 and mouse_x< 503 and mouse_y> 424 and mouse_y< 467
  263.         @goods_window.draw_task
  264.       #选中了系统
  265.       elsif mouse_x> 585 and mouse_x< 629 and mouse_y> 423 and mouse_y< 467
  266.         @goods_window.draw_system
  267.       
  268.                
  269.         else
  270.         #如果窗口状态不是默认状态
  271.         if @head_window.state != 0
  272.           @head_window.refresh
  273.         end
  274.         if @goods_window.state != 0
  275.           @goods_window.refresh
  276.         end
  277.       end
  278.     end
  279.     # 调试模式为 ON 并且按下 F9 键的情况下
  280.     if $DEBUG and Input.press?(Input::F9)
  281.       # 设置调用调试标志
  282.       $game_temp.debug_calling = true
  283.     end
  284.     # 不在主角移动中的情况下
  285.     unless $game_player.moving?
  286.       # 执行各种画面的调用
  287.       if $game_temp.battle_calling
  288.         call_battle
  289.       elsif $game_temp.shop_calling
  290.         call_shop
  291.       elsif $game_temp.name_calling
  292.         call_name
  293.       elsif $game_temp.menu_calling
  294.         call_menu
  295.       elsif $game_temp.save_calling
  296.         call_save
  297.       elsif $game_temp.debug_calling
  298.         call_debug
  299.       end
  300.     end
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● 调用战斗
  304.   #--------------------------------------------------------------------------
  305.   def call_battle
  306.     # 清除战斗调用标志
  307.     $game_temp.battle_calling = false
  308.     # 清除菜单调用标志
  309.     $game_temp.menu_calling = false
  310.     $game_temp.menu_beep = false
  311.     # 生成遇敌计数
  312.     $game_player.make_encounter_count
  313.     # 记忆地图 BGM 、停止 BGM
  314.     $game_temp.map_bgm = $game_system.playing_bgm
  315.     $game_system.bgm_stop
  316.     # 演奏战斗开始 SE
  317.     $game_system.se_play($data_system.battle_start_se)
  318.     # 演奏战斗 BGM
  319.     $game_system.bgm_play($game_system.battle_bgm)
  320.     # 矫正主角姿势
  321.     $game_player.straighten
  322.     # 切换到战斗画面
  323.     $scene = Scene_Battle.new
  324.   end
  325.   #--------------------------------------------------------------------------
  326.   # ● 调用商店
  327.   #--------------------------------------------------------------------------
  328.   def call_shop
  329.     # 清除商店调用标志
  330.     $game_temp.shop_calling = false
  331.     # 矫正主角姿势
  332.     $game_player.straighten
  333.     # 切换到商店画面
  334.     $scene = Scene_Shop.new
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # ● 调用名称输入
  338.   #--------------------------------------------------------------------------
  339.   def call_name
  340.     # 清除商店调用名称输入标志
  341.     $game_temp.name_calling = false
  342.     # 矫正主角姿势
  343.     $game_player.straighten
  344.     # 切换到名称输入画面
  345.     $scene = Scene_Name.new
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ● 调用菜单
  349.   #--------------------------------------------------------------------------
  350.   def call_menu
  351.     # 清除商店调用菜单标志
  352.     $game_temp.menu_calling = false
  353.     # 已经设置了菜单 SE 演奏标志的情况下
  354.     if $game_temp.menu_beep
  355.       # 演奏确定 SE
  356.       $game_system.se_play($data_system.decision_se)
  357.       # 清除菜单演奏 SE 标志
  358.       $game_temp.menu_beep = false
  359.     end
  360.     # 矫正主角姿势
  361.     $game_player.straighten
  362.     # 切换到菜单画面
  363.     $scene = Scene_Menu.new
  364.     #$scene = Scene_Baby.new
  365.   end
  366.   #--------------------------------------------------------------------------
  367.   # ● 调用存档
  368.   #--------------------------------------------------------------------------
  369.   def call_save
  370.     # 矫正主角姿势
  371.     $game_player.straighten
  372.     # 切换到存档画面
  373.     $scene = Scene_Save.new
  374.   end
  375.   #--------------------------------------------------------------------------
  376.   # ● 调用调试
  377.   #--------------------------------------------------------------------------
  378.   def call_debug
  379.     # 清除商店调用调试标志
  380.     $game_temp.debug_calling = false
  381.     # 演奏确定 SE
  382.     $game_system.se_play($data_system.decision_se)
  383.     # 矫正主角姿势
  384.     $game_player.straighten
  385.     # 切换到调试画面
  386.     $scene = Scene_Debug.new
  387.   end
  388.   #--------------------------------------------------------------------------
  389.   # ● 主角的场所移动
  390.   #--------------------------------------------------------------------------
  391.   def transfer_player
  392.     # 清除主角场所移动调试标志
  393.     $game_temp.player_transferring = false
  394.     # 移动目标与现在的地图有差异的情况下
  395.     if $game_map.map_id != $game_temp.player_new_map_id
  396.       # 设置新地图
  397.       $game_map.setup($game_temp.player_new_map_id)
  398.     end
  399.     # 设置主角位置
  400.     $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
  401.     # 设置主角朝向
  402.     case $game_temp.player_new_direction
  403.     when 2  # 下
  404.       $game_player.turn_down
  405.     when 4  # 左
  406.       $game_player.turn_left
  407.     when 6  # 右
  408.       $game_player.turn_right
  409.     when 8  # 上
  410.       $game_player.turn_up
  411.     end
  412.     # 矫正主角姿势
  413.     $game_player.straighten
  414.     # 刷新地图 (执行并行事件)
  415.     $game_map.update
  416.     # 在生成活动块(配合双远景图)
  417.     #●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  418.     #循环释放8个地图精灵
  419.     for i in 0..8
  420.       if @spriteset.panorama.bitmap != nil
  421.         @spriteset.panorama.bitmap.dispose
  422.       end
  423.       if @spriteset.panorama2.bitmap != nil
  424.         @spriteset.panorama2.bitmap.dispose
  425.       end
  426.     end
  427.     if @spriteset.plane.bitmap != nil
  428.       @spriteset.plane.bitmap.dispose
  429.     end
  430.     if @spriteset.plane2.bitmap != nil
  431.       @spriteset.plane2.bitmap.dispose
  432.     end
  433.     @spriteset.dispose
  434.     @spriteset = Spriteset_Map.new
  435.     #垃圾回收
  436.     RPG::Cache.clear
  437.     # 生成快捷窗口
  438.     @goods_window.dispose
  439.     @goods_window = Window_Goods.new
  440.     @xy_skin.bitmap.dispose
  441.     @xy_skin.dispose
  442.     @xy_info.bitmap.dispose
  443.     @xy_info.dispose
  444.     @xy_skin = Sprite.new
  445.     @xy_skin.bitmap = RPG::Cache.windowskin("win_xy")
  446.     @xy_info = Sprite.new
  447.     @xy_info.bitmap = Bitmap.new(118,79)
  448.     @xy_info.bitmap.font = Font.new("宋体",14)
  449.     @xy_info.bitmap.draw_text(20, 14, 77, 17, $game_map.name, 1)
  450.     @xy_x = $game_player.x
  451.     @xy_y = $game_player.y
  452.     txt = "X:" + $game_player.x.to_s + " Y:" + $game_player.y.to_s
  453.     @xy_info.bitmap.draw_text(2, 63, 116, 16, txt, 1)
  454.     #●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  455.     # 处理过渡中的情况下
  456.     if $game_temp.transition_processing
  457.       # 清除过渡处理中标志
  458.       $game_temp.transition_processing = false
  459.       # 执行过渡
  460.       Graphics.transition(20)
  461.     end
  462.     # 执行地图设置的 BGM、BGS 的自动切换
  463.     $game_map.autoplay
  464.     # 设置画面
  465.     Graphics.frame_reset
  466.     # 刷新输入信息
  467.     Input.update
  468.   end
  469.   #--------------------------------------------------------------------------
  470.   # ● 随机获得小提示文字
  471.   #--------------------------------------------------------------------------
  472.   
  473.   end
  474. end
复制代码

点评

请上传您的工程,否则您的问题我们无法为您解答,因为光小的截图远远不够。  发表于 2012-4-15 20:14
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-30 14:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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