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

Project1

 找回密码
 注册会员
搜索

修改《夜想曲》的小疑问

查看数: 1411 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2010-7-5 08:49

正文摘要:

本帖最后由 人孰无过 于 2010-7-5 10:34 编辑 {:nm_9:}我想把《夜想曲》里的

回复

人孰无过 发表于 2010-7-5 10:33:52
提示: 作者被禁止或删除 内容自动屏蔽
风中承诺 发表于 2010-7-5 09:56:11
这个……
ARPG_Actor里面33行注释掉

再把61……103注释掉即可

图:


代码:
  1. #==============================================================================
  2. class ARPG_Actor
  3.   #--------------------------------------------------------------------------
  4.   # ● 初始化对象
  5.   #--------------------------------------------------------------------------
  6.   def initialize
  7.     @actor = $game_party.actors[0]
  8.     @hp = $game_party.actors[0].hp
  9.     @sp = $game_party.actors[0].sp
  10.     @exp = $game_party.actors[0].now_exp
  11.     @states = $game_party.actors[0].states
  12.     @parameter = []
  13.     #Mess_Text.visible = true
  14.     #Mess_Text.ini
  15.     steup
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 主处理
  19.   #--------------------------------------------------------------------------
  20.   def steup
  21. #    make_sprite
  22.     if !$scene.is_a?(Scene_Key)
  23.       @key_window = Window_KeyCommand.new
  24.       @key_window.refresh($game_party.actors[0])
  25.     end
  26.     if !$scene.is_a?(Scene_Item_Key)
  27.       @item_window = Window_Item_KeyCommand.new
  28.       @item_window.refresh($game_party.actors[0])
  29.     end
  30.   end
  31.   def visible=(val)
  32.     @key_window.visible = val if !@key_window.nil?
  33.     @item_window.visible = val if !@item_window.nil?
  34.     @parameter.each{|pict|pict.visible = val}
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 释放
  38.   #--------------------------------------------------------------------------
  39.   def dispose
  40.     #Mess_Text.dispose
  41.     #Mess_Text.visible = false
  42.     @key_window.dispose if !@key_window.nil?
  43.     @item_window.dispose if !@item_window.nil?
  44.     @parameter.each{|pict|pict.dispose}
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 生成精灵的实例
  48.   #--------------------------------------------------------------------------
  49. =begin
  50.   def make_sprite
  51.    
  52.     @parameter[0] = Sprite.new
  53.     @parameter[0].bitmap = Bitmap.new(100,100)
  54.     @parameter[0].bitmap.blt(0,0,RPG::Cache.picture("l1"),Rect.new(0,0,150,120))
  55.     @parameter[0].x = -10;@parameter[0].y = 10
  56.    
  57.     @parameter[1] = Sprite.new
  58.     @parameter[1].bitmap = Bitmap.new(150,120)
  59.     @parameter[1].bitmap.blt(0,0,RPG::Cache.picture("bar"),Rect.new(0,0,150,120))
  60.    
  61.     @parameter[2] = Sprite.new
  62.     @parameter[2].bitmap = Bitmap.new(61,83)
  63.     @parameter[2].bitmap.blt(0,0,RPG::Cache.picture("HP"),Rect.new(0,0,61,83))
  64.     h = $game_party.actors[0].hp * 82 / $game_party.actors[0].maxhp
  65.     @parameter[2].bitmap.blt(0,0,RPG::Cache.picture("HPoo"),Rect.new(0,0,61,82-h))
  66.     @parameter[2].x = 37;@parameter[2].y = 36
  67.    
  68.     @parameter[3] = Sprite.new
  69.     @parameter[3].bitmap = Bitmap.new(59,82)
  70.     @parameter[3].bitmap.blt(0,0,RPG::Cache.picture("SP"),Rect.new(0,0,59,82))
  71.     h = $game_party.actors[0].sp * 82 / $game_party.actors[0].maxsp
  72.     @parameter[3].bitmap.blt(0,0,RPG::Cache.picture("SPoo"),Rect.new(0,0,59,82-h))
  73.     @parameter[3].x = 64;@parameter[3].y = 36
  74.    
  75.     @parameter[4] = Sprite.new
  76.     @parameter[4].bitmap = Bitmap.new(59,82)
  77.     @parameter[4].bitmap.blt(0,0,RPG::Cache.picture("EXP"),Rect.new(0,0,59,82))
  78.     h = $game_party.actors[0].now_exp * 82 / $game_party.actors[0].next_exp
  79.     @parameter[4].bitmap.blt(0,0,RPG::Cache.picture("EXPoo"),Rect.new(0,0,59,82-h))
  80.     @parameter[4].x = 88;@parameter[4].y = 36
  81.    
  82.     @parameter.each{|e|e.z += 1}
  83.    
  84.     @parameter[5] = Sprite.new
  85.     @parameter[5].bitmap = Bitmap.new(128,32)
  86.     @parameter[5].x = 128
  87.     @parameter[5].y = 480 - 32
  88.    
  89.     draw_actor_state(@actor,0,0)
  90.    
  91.     @parameter.each{|e|e.z += 2}
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 描绘状态
  95.   #     actor : 角色
  96.   #     x     : 描画目标 X 坐标
  97.   #     y     : 描画目标 Y 坐标
  98.   #     width : 描画目标的宽
  99.   #--------------------------------------------------------------------------
  100.   def draw_actor_state(actor, x, y, width = 120)
  101.     pos = 0
  102.     for i in @actor.states
  103.       if $data_states[i].name == "战斗不能"
  104.         next
  105.       end
  106.       bitmap = RPG::Cache.icon($data_states[i].name)
  107.       @parameter[5].bitmap.blt(x+pos*bitmap.width, y, bitmap, Rect.new(0,0,bitmap.width,bitmap.height))
  108.     pos += 1
  109.     end
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 更新数值变化
  113.   #--------------------------------------------------------------------------
  114.   def refresh(type)
  115.     case type
  116.     when 0
  117.       @parameter[2].bitmap.clear
  118.       @parameter[2].bitmap.blt(0,0,RPG::Cache.picture("HP"),Rect.new(0,0,61,83))
  119.       h = @hp * 82 / $game_party.actors[0].maxhp
  120.       @parameter[2].bitmap.blt(0,0,RPG::Cache.picture("HPoo"),Rect.new(0,0,61,82-h))
  121.       return
  122.     when 1
  123.       @parameter[3].bitmap.clear
  124.       @parameter[3].bitmap.blt(0,0,RPG::Cache.picture("SP"),Rect.new(0,0,59,82))
  125.       h = @sp * 82 / $game_party.actors[0].maxsp
  126.       @parameter[3].bitmap.blt(0,0,RPG::Cache.picture("SPoo"),Rect.new(0,0,59,82-h))
  127.       return
  128.     when 2
  129.       @parameter[4].bitmap.clear
  130.       @parameter[4].bitmap.blt(0,0,RPG::Cache.picture("EXP"),Rect.new(0,0,59,82))
  131.       h = @exp * 82 / $game_party.actors[0].next_exp
  132.       @parameter[4].bitmap.blt(0,0,RPG::Cache.picture("EXPoo"),Rect.new(0,0,59,82-h))
  133.       return
  134.      when 3
  135.        @parameter[5].bitmap.clear
  136.        draw_actor_state(@actor,0,0)
  137.        @states = $game_party.actors[0].states
  138.       return
  139.     end
  140.   end
  141.   
  142. =end
  143.   #--------------------------------------------------------------------------
  144.   # ● 刷新
  145.   #--------------------------------------------------------------------------
  146.   def update
  147.     Mess_Text.update
  148.     if $refresh["states"]
  149.       refresh(3)
  150.       $refresh["states"] = false
  151.     end
  152.     if $refresh["item"]
  153.       @item_window.refresh(@actor)
  154.       $refresh["item"] = false
  155.     end
  156.     if $refresh["skill"]
  157.       @key_window.refresh(@actor)
  158.       $refresh["skill"] = false
  159.     end
  160.     if @actor.states.size > 0
  161.       for i in @actor.states
  162.         if @actor.states_time[i] > 0
  163.           @actor.states_time[i] -= 1
  164.         end
  165.         if @actor.states_time[i] <= 0
  166.           @actor.remove_state(i)
  167.         end
  168.       end
  169.       if @actor.states.size > 0 and Graphics.frame_count%10 == 0
  170.         $game_party.check_map_slip_damage
  171.       end
  172.     end
  173.     if Input.trigger?(Input::CTRL)
  174.       Mess_Text.clear
  175.       return
  176.     end
  177.     if Input.trigger?(Input::SHIFT)
  178.       Mess_Text.visible = !Mess_Text.visible
  179.       return
  180.     end
  181.     if @hp != $game_party.actors[0].hp
  182.       if @hp > $game_party.actors[0].hp
  183.         @hp -= 1
  184.       end
  185.       if @hp < $game_party.actors[0].hp
  186.         @hp += 1
  187.       end
  188.       refresh(0)
  189.     end
  190.     if @sp != $game_party.actors[0].sp
  191.       if @sp > $game_party.actors[0].sp
  192.         @sp -= 1
  193.       end
  194.       if @sp < $game_party.actors[0].sp
  195.         @sp += 1
  196.       end
  197.       refresh(1)
  198.     end
  199.     if @exp != $game_party.actors[0].now_exp
  200.       if @exp > $game_party.actors[0].now_exp
  201.         @exp -= 1
  202.       end
  203.       if @exp < $game_party.actors[0].now_exp
  204.         @exp += 1
  205.       end
  206.       refresh(2)
  207.     end
  208.   end
  209. end
复制代码

评分

参与人数 1星屑 +200 收起 理由
「旅」 + 200 认可答案

查看全部评分

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

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

GMT+8, 2024-11-24 19:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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