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

Project1

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

[已经解决] 地图上显示血槽

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2012-6-1
帖子
6
跳转到指定楼层
1
发表于 2012-6-3 13:27:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是既能显示头像又能显示血槽的脚本
h

Lv2.观梦者

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

2
发表于 2012-6-3 13:37:35 | 只看该作者
BY my self:
  1. #==============================================================================
  2. # ■ Window_massage
  3. #------------------------------------------------------------------------------
  4. #  显示message and use item 的窗口。
  5. #==============================================================================
  6. class Window_xy < Window_Base#
  7. #--------------------------------------------------------------------------
  8. # ● 初始化窗口
  9. #--------------------------------------------------------------------------
  10. def initialize
  11.    super(0, 0, 300, 480)
  12.    self.contents = Bitmap.new(width - 32, height - 32)
  13.    self.x = 640 - 170
  14.    self.y = 0
  15.    @hp = $game_party.actors[0].hp
  16.    @maxhp = $game_party.actors[0].maxhp
  17.    @sp = $game_party.actors[0].sp
  18.    @maxsp = $game_party.actors[0].maxsp
  19.    @exp = $game_party.actors[0].exp
  20.    @gold = $game_party.gold
  21.    @power = $pp_power
  22.    @pp_size = $pp_size
  23.    @yongqi = $game_variables[10]
  24.    @kuaijie_s = false
  25.    
  26.    @Bsp = 0
  27.    @Bhp = 0
  28.    new_sprite
  29.    refresh
  30. end
  31. def new_sprite
  32.   @sprite = []
  33.    hp = Sprite.new
  34.    hp.bitmap = Bitmap.new('Graphics/Pictures/HP1_2.png')
  35.    hp.x = self.x + 16
  36.    hp.y = self.y + 18
  37.    hp.z = 10
  38.    hp.zoom_x = @hp.to_f / $game_party.actors[0].maxhp.to_i.to_f
  39.    hp2 = Sprite.new
  40.    hp2.bitmap = Bitmap.new('Graphics/Pictures/HP1.png')
  41.    hp2.x = self.x + 11
  42.    hp2.y = self.y + 16
  43.    hp2.z = 9
  44.    sp = Sprite.new
  45.    sp.bitmap = Bitmap.new('Graphics/Pictures/HP1_2.png')
  46.    sp.tone = Tone.new(0,0,255)
  47.    sp.x = self.x + 16
  48.    sp.y = self.y + 18+28
  49.    sp.z = 10
  50.    sp.zoom_x = @sp.to_f / $game_party.actors[0].maxsp.to_i.to_f
  51.    sp2 = Sprite.new
  52.    sp2.bitmap = Bitmap.new('Graphics/Pictures/HP1.png')
  53.    sp2.tone = Tone.new(0,0,255)
  54.    sp2.x = self.x + 11
  55.    sp2.y = self.y + 16+28
  56.    sp2.z = 9
  57.   @sprite = [hp,sp,hp2,sp2]
  58. end
  59. #--------------------------------------------------------------------------
  60. # ● 刷新
  61. #--------------------------------------------------------------------------
  62. def refresh
  63.    @sprite.each{|s|s.visible = true}
  64.    if $game_switches #确定开关是否打开,可以自己改变开关
  65.    if @hp != $game_party.actors[0].hp or @maxhp != $game_party.actors[0].maxhp
  66.      @Bhp = @hp
  67.    end
  68.    if @sp != $game_party.actors[0].sp or @maxsp != $game_party.actors[0].maxsp
  69.      @Bsp = @sp
  70.    end
  71.    @hp = $game_party.actors[0].hp
  72.    @maxhp = $game_party.actors[0].maxhp
  73.    @sp = $game_party.actors[0].sp
  74.    @maxsp = $game_party.actors[0].maxsp
  75.    @exp = $game_party.actors[0].exp
  76.    @gold = $game_party.gold
  77.    @items_size = $game_party.items.size
  78.    @power = $pp_power
  79.    @yongqi = $game_variables[10]
  80.     self.contents.clear #清除以前的东西
  81.     self.contents.font.size = 12
  82.     self.contents.font.name = "宋体"
  83.     self.contents.font.color = system_color#颜色,暗蓝色
  84.     draw_actor_hp($game_party.actors[0], 0, 0, width = 144)
  85.     draw_actor_sp($game_party.actors[0], 0, 14+16, width = 144)
  86.     draw_actor_level($game_party.actors[0], 0, 28+16)
  87.     draw_actor_exp($game_party.actors[0], 0, 42+16)
  88.     self.contents.font.color = normal_color
  89.     self.contents.draw_text(0, 56+16, 116, 32, "GOLD:#{@gold.to_s}",2)
  90.     self.contents.draw_text(0, 70+16, 156, 32, "泡泡威力:#{@power.to_s}",2)
  91.     self.contents.draw_text(0, 84+16, 156, 32, "泡泡数量:#{$pp_size.to_s}",2)
  92.     self.contents.draw_text(0, 98+16, 156, 32, "勇气:#{@yongqi.to_s}",2)
  93.     if $kuaijie_s == true
  94.       discription_item_self
  95.     else
  96.       discription_item
  97.     end
  98.    end
  99. end
  100. def discription_item
  101.    x,y,t = -28,140,0
  102.     self.contents.font.size = 10
  103.     @itemtable = {};time = 0
  104.     for item in $game_party.items
  105.       next if $game_party.item_number(item[0]) == 0#持有 == 0
  106.       next if $data_items[item[0]].occasion == 3 #无法使用
  107.       t += 1
  108.       t >= 7 ? (t = 0;y += 44) : x = 28*(t-1)
  109.       if draw_item_name2($data_items[item[0]], x, y) == false
  110.         x -= 28
  111.       else
  112.         time+=1;@itemtable[time] = item[0]
  113.       end
  114.     end
  115.   end
  116.   def discription_item_self
  117.    x,y,t = -28,140,0
  118.     self.contents.font.size = 10
  119.     @itemtable = {};time = 0
  120.     for item in $kuaijie
  121.       next if $game_party.item_number(item.id) == 0#持有 == 0
  122.       t += 1
  123.       t >= 7 ? (t = 0;y += 44) : x = 28*(t-1)
  124.       if draw_item_name2(item, x, y) == false
  125.         x -= 28
  126.       else
  127.         time+=1;@itemtable[time] = item.id
  128.       end
  129.     end
  130. end
  131. def use_item(id)#id指顺序ID1-9
  132.    item = ($data_items[@itemtable[id]] rescue 0)
  133.    return if item == 0#不含有的物品。
  134.    # 如果物品用完的情况下
  135.    if $game_party.item_number(item.id) == 0
  136.       # 演奏冻结 SE
  137.       $game_system.se_play($data_system.buzzer_se)
  138.       return
  139.    end
  140.        used = $game_party.actors[0].item_effect(item)
  141.        use_ok?(used,item)
  142.       
  143. end

  144. def use_ok?(used,item)
  145.          # 使用物品的情况下
  146.          @item = item
  147.       if used
  148.         # 演奏物品使用时的 SE
  149.         $game_system.se_play(@item.menu_se)
  150.         # 消耗品的情况下
  151.         $game_player.animation_id = item.animation1_id
  152.         if @item.consumable
  153.           # 使用的物品数减 1
  154.           $game_party.lose_item(@item.id, 1)
  155.           # 再描绘物品窗口的项目
  156.           refresh
  157.         end
  158.         # 全灭的情况下
  159.         if $game_party.all_dead?
  160.           # 切换到游戏结束画面
  161.           $scene = Scene_Gameover.new
  162.           return
  163.         end
  164.         # 公共事件 ID 有效的情况下
  165.         if @item.common_event_id > 0
  166.           # 预约调用公共事件
  167.           $game_temp.common_event_id = @item.common_event_id
  168.           # 切换到地图画面
  169.           $game_map.need_refresh = true
  170.           return
  171.         end
  172.       end
  173.       # 无法使用物品的情况下
  174.       unless used
  175.         # 演奏冻结 SE
  176.         $game_system.se_play($data_system.buzzer_se)
  177.       end

  178.   end
  179.   def change_hp
  180.     @Bhp += (($game_party.actors[0].hp.to_i - @Bhp).to_f / 40)#增减hp
  181.     @sprite[0].zoom_x = (@Bhp.to_f / $game_party.actors[0].maxhp.to_i.to_f)
  182.     @Bhp = 0 if (@Bhp - $game_party.actors[0].hp).abs <= 10
  183.   end
  184.   def change_sp
  185.     @Bsp += (($game_party.actors[0].sp.to_i - @Bsp).to_f / 40)#增减hp
  186.     @sprite[1].zoom_x = (@Bsp.to_f / $game_party.actors[0].maxsp.to_i.to_f)
  187.     @Bsp = 0 if (@Bsp - $game_party.actors[0].sp).abs <= 10
  188.   end
  189. #--------------------------------------------------------------------------
  190. # ● 判断文字刷新。节约内存用
  191. #--------------------------------------------------------------------------
  192. def judge
  193.    for input in 1..9
  194.      use_item(input) if eval("Kboard.trigger?($R_Key_#{input})")
  195.    end
  196.    change_hp if @Bhp != 0
  197.    change_sp if @Bsp != 0
  198.    #return false unless Input.trigger?(Input::C)
  199.    return 'hp' if @hp != $game_party.actors[0].hp
  200.    return true if $pp_power != @power
  201.    return 'maxhp' if @maxhp != $game_party.actors[0].maxhp
  202.    return "sp" if @sp != $game_party.actors[0].sp
  203.    return 'maxhp' if @maxsp != $game_party.actors[0].maxsp
  204.    return true if @exp != $game_party.actors[0].exp
  205.    return true if @gold != $game_party.gold
  206.    return true if @items_size != $game_party.items.size
  207.    return true if @yongqi != $game_variables[10]
  208.    return false
  209. end
  210. def dispose
  211.    @sprite.each{|s|s.visible = false}
  212.    self.contents.dispose if self.contents != nil
  213. end
  214. def visible_to_f
  215.    self.visible = false
  216.    @sprite.each{|s|s.visible = false}
  217. end
  218. end

  219. class Scene_Map
  220. alias xy_66rpg_main main
  221. def main
  222.    $xy_window = Window_xy.new
  223.    $xy_window.opacity = 0
  224.    xy_66rpg_main
  225.    $xy_window.dispose
  226. end
  227. #--------------------------------------------------------------------------
  228. # ● 刷新画面
  229. #--------------------------------------------------------------------------
  230. alias xy_66rpg_update update
  231. def update
  232.    xy_66rpg_update
  233.    if $game_switches[2] == false
  234.      $xy_window.visible = true      
  235.      if $xy_window.judge
  236.        $xy_window.refresh
  237.      end
  238.      #@mess8_window.refresh if @mess8_window.judge
  239.      
  240.    else
  241.      #@mess8_window.visible = false
  242.      $xy_window.visible_to_f
  243.    end
  244. end
  245. end
复制代码
添加进入脚本即可,有很多功能。。。。
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2012-6-1
帖子
6
3
 楼主| 发表于 2012-6-3 14:53:20 | 只看该作者
end55rpg 发表于 2012-6-3 13:37
BY my self:添加进入脚本即可,有很多功能。。。。

你这个需要图片的,有么……
h
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 06:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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