扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 113|回复: 0

[转载发布] 蛐蛐儿的简约(渣)菜单计划(三)

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    昨天 18:01
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10632
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13401

    灌水之王

    发表于 2024-4-19 20:02:07 | 显示全部楼层 |阅读模式
    计划之一:http://rpg.blue/thread-202640-1-1.html
    计划之二:http://rpg.blue/thread-202724-1-1.html
    这次是装备界面- -,各种赶工。


    各种外援脚本及立绘照旧。


    截图:



    正文:
    part1:
    1. class Scene_Equip  def initialize(id=0)    @id = id    @actor = $game_party.actors[@id]  end  def main    @bitmap = Spriteset_Map.new    @back = Sprite.new    @back.bitmap = Bitmap.new(640,480)        @back.bitmap.fill_rect(0,0,640,480,Color.new(0,0,0,100))    @person = Sprite.new    @person.bitmap = Bitmap.new("Graphics/Menu/#{@actor.name}")    @z = Sprite.new    @z.bitmap = Bitmap.new(640,480)    for i in 0...52      @z.bitmap.fill_rect(0,i*4,640,4,Color.new(0,0,0,255-5*i))      @z.bitmap.fill_rect(0,480-i*4,640,4,Color.new(0,0,0,255-5*i))    end    rect = Bitmap.new(40,204)    for i in 0..51      rect.fill_rect(0,i*2,40,2,Color.new(0,0,0,i*5))      rect.fill_rect(0,204-i*2,40,2,Color.new(0,0,0,i*5))      rect.fill_rect(0,i*2,1,2,Color.new(255,255,255,i*5))      rect.fill_rect(0,204-i*2,1,2,Color.new(255,255,255,i*5))      rect.fill_rect(39,i*2,1,2,Color.new(255,255,255,i*5))      rect.fill_rect(39,204-i*2,1,2,Color.new(255,255,255,i*5))    end    @equip_rect = []    @equip = []    for i in 0...5      @equip_rect[i] = RPG::Sprite.new      @equip_rect[i].bitmap = rect      @equip_rect[i].x = 150 + 44 * i      @equip_rect[i].y = 200      @equip[i] = Sprite.new      @equip[i].bitmap = Bitmap.new(40,204)      @equip[i].x = 150 + 44 * i      @equip[i].y = 200      @equip[i].bitmap.font.size = 12      if i == 0        @equip[i].bitmap.blur_draw_text(0,40,40,24,$data_system.words.weapon,1,        Color.new(0,0,0,10),2)        next if $data_weapons[@actor.weapon_id].nil?        @equip[i].bitmap.blt(8,12,        RPG::Cache.icon($data_weapons[@actor.weapon_id].icon_name),Rect.new(0,0,24,24))        a = $data_weapons[@actor.weapon_id].name.scan(/./)        a.each_index {|b| @equip[i].bitmap.blur_draw_text(0,70+16*b,40,16,        a[b],1,Color.new(0,0,0,10),2)}      else        eval "@equip[i].bitmap.blur_draw_text(0,        40,40,24,$data_system.words.armor#{i},1,Color.new(0,0,0,10),2)"        eval "next if $data_armors[@actor.armor#{i}_id].nil?"        eval "b = RPG::Cache.icon($data_armors[@actor.armor#{i}_id].icon_name)"        eval "@equip[i].bitmap.blt(8,12,b,Rect.new(0,0,24,24))"        eval "a = $data_armors[@actor.armor#{i}_id].name.scan(/./)"        a.each_index {|b| @equip[i].bitmap.blur_draw_text(0,70+16*b,40,16,        a[b],1,Color.new(0,0,0,10),2)}      end    end    @status_back = Sprite.new    @status_back.bitmap = Bitmap.new(306,120)    @status_back.y = 25    @status_back.x = 300    for i in 0...52      @status_back.bitmap.fill_rect(i*3,0,3,200,Color.new(0,0,0,i*5))      @status_back.bitmap.fill_rect(306-i*3,0,3,200,Color.new(0,0,0,i*5))      @status_back.bitmap.fill_rect(i*3,0,3,1,Color.new(255,255,255,i*5))      @status_back.bitmap.fill_rect(306-i*3,0,3,1,Color.new(255,255,255,i*5))      @status_back.bitmap.fill_rect(i*3,119,3,1,Color.new(255,255,255,i*5))      @status_back.bitmap.fill_rect(306-i*3,119,3,1,Color.new(255,255,255,i*5))      @status_back.bitmap.fill_rect(153,40,1,70,Color.new(255,255,255))    end    @status = Sprite.new    @status.bitmap = Bitmap.new(306,120)    @status.y = 25    @status.x = 300    @status.bitmap.font.size = 15    @status.bitmap.draw_text(50,10,600,15,"#{@actor.name}  Lv#{@actor.level}")    @status.bitmap.font.size = 12    for i in 0..6      draw_par(i)    end    @help = Sprite.new    @help.bitmap = Bitmap.new(510, 20)    @help.x = 65    @help.y = 450    @help_text = Sprite.new    @help_text.bitmap = Bitmap.new(510, 20)    @help_text.bitmap.font.name = "宋体"    @help_text.bitmap.font.size = 13    @help_text.x = 65    @help_text.y = 450    @change_equip = Sprite.new    @change_equip.bitmap = Bitmap.new(204,200)    @change_equip.x = 400    @change_equip.y = 200    @new_equip = []    @data = [[],[],[],[],[]]    for i in 0..255/5      @help.bitmap.fill_rect(i*5,0,5,20,Color.new(0,0,0,i*5))      @help.bitmap.fill_rect(510-i*5,0,5,20,Color.new(0,0,0,i*5))      @help.bitmap.fill_rect(i*5, 0, 5, 1, Color.new(255,255,255,i*5))      @help.bitmap.fill_rect(510-i*5, 0, 5, 1, Color.new(255,255,255,i*5))      @help.bitmap.fill_rect(i*5, 19, 5, 1, Color.new(255,255,255,i*5))      @help.bitmap.fill_rect(510-i*5, 19, 5, 1, Color.new(255,255,255,i*5))      @change_equip.bitmap.fill_rect(2*i,0,2,200,Color.new(0,0,0,50+5*i))      @change_equip.bitmap.fill_rect(204-2*i,0,2,200,Color.new(0,0,0,50+5*i))      @change_equip.bitmap.fill_rect(2*i,0,2,1,Color.new(255,255,255,5*i))      @change_equip.bitmap.fill_rect(2*i,199,2,1,Color.new(255,255,255,5*i))      @change_equip.bitmap.fill_rect(204-2*i,199,2,1,Color.new(255,255,255,5*i))      @change_equip.bitmap.fill_rect(204-2*i,0,2,1,Color.new(255,255,255,5*i))    end    viewport = Viewport.new(400,200,204,200)    @equip_choose = RPG::Sprite.new(viewport)    @equip_choose.bitmap = @help.bitmap.clone    @equip_choose.zoom_x = 164 / 510.0    @equip_choose.x = 20    @equip_choose.zoom_y = 14 / 20.0    @equip_choose.y = 28    for i in 0...5      @new_equip[i] = Sprite.new(viewport)      @new_equip[i].bitmap = Bitmap.new(204,200)      @new_equip[i].x = 204 * i      @new_equip[i].bitmap.font.size = 12      @new_equip[i].bitmap.draw_text(40,30,184,12,"[脱下装备]")      @data[i].push(-1)      y = 44      if i == 0        weapon_set = $data_classes[@actor.class_id].weapon_set        for n in 1...$data_weapons.size          if $game_party.weapon_number(n) > 0 and weapon_set.include?(n)            @new_equip[i].bitmap.blt(10,y-6,            RPG::Cache.icon($data_weapons[n].icon_name),Rect.new(0,0,24,20))            @new_equip[i].bitmap.draw_text(40,y,184,12,$data_weapons[n].name)            @new_equip[i].bitmap.draw_text(40,y,140,12,$game_party.weapon_number(n).to_s,2)            @data[i].push($data_weapons[n])            y += 14          end        end      end      if i != 0        armor_set = $data_classes[@actor.class_id].armor_set        for n in 1...$data_armors.size          if $game_party.armor_number(n) > 0 and armor_set.include?(n)            if $data_armors[n].kind == i-1              @new_equip[i].bitmap.blt(10,y-6,              RPG::Cache.icon($data_armors[n].icon_name),Rect.new(0,0,24,20))              @new_equip[i].bitmap.draw_text(40,y,184,12,$data_armors[n].name)              @new_equip[i].bitmap.draw_text(40,y,140,12,$game_party.armor_number(n).to_s,2)              @data[i].push($data_armors[n])              y += 14            end          end        end      end    end    if !$data_weapons[@actor.weapon_id].nil?      @help_text.bitmap.draw_text(0,0,510,20,      $data_weapons[@actor.weapon_id].description,1)    end    @equip_choose.visible = false    @equip_rect[0].blink_on    @left_index = 0         # 装备位的选择    @right = false          # 右边是否选择    @right_index = -1       # 新装备的选择    @page = 0               # 同ITEM    loop {update; break if $scene != self}    @equip_rect.each {|a| a.bitmap.dispose ; a.dispose}    @equip.each {|a| a.bitmap.dispose ; a.dispose}    @bitmap.dispose    @back.dispose    @back.dispose    @z.bitmap.dispose    @z.dispose    @person.dispose    @change_equip.bitmap.dispose; @change_equip.dispose    @new_equip.each {|a| a.bitmap.dispose;a.dispose}    @equip_choose.dispose  end  def update    Graphics.update    @equip_rect.each {|a| a.update} if !@right    @equip_choose.visible = true if !@equip_choose.visible && @right    @equip_choose.visible = false if !@right && @equip_choose.visible    @equip_choose.blink_on if !@equip_choose.blink? && @equip_choose.visible    @equip_choose.update if @equip_choose.visible    update_change if @right    return if @right    update_input  end  def update_input    Input.update    left_index(true) if Input.trigger?(Input::RIGHT)    left_index if Input.trigger?(Input::LEFT)    if Input.trigger?(Input::C)      @right_index = 0      @right = true      new_actor      $game_system.se_play($data_system.decision_se)     end    $scene = Scene_Menu.new and $game_system.se_play($data_system.cancel_se) if Input.trigger?(Input::B)  end  def left_index(plus=false)    if plus      return if @left_index >= 4      @left_index += 1      @equip_rect.each {|a| a.blink_off}      @equip_rect[@left_index].blink_on      for i in 0...12        @new_equip.each {|a| a.x -= 17}        Graphics.update      end    else      return if @left_index  parameter_value      updown = "↓"    elsif old_value < parameter_value      updown = "↑"    else      updown = "→"    end    @status.bitmap.draw_text(type / 4 == 0 ? 27 : 170, 40 + (15 * (type % 4)),    126,15,"#{parameter_name}:#{old_value} #{updown} #{parameter_value}")  end  def new_actor    @new_actor = @actor.clone    if @left_index == 0      old_item = $data_weapons[@new_actor.weapon_id]    else      eval "old_item = $data_armors[@new_actor.armor#{@left_index}_id]"    end    item = @data[@left_index][@right_index]    @new_actor.equip(@left_index, (item == nil || item == -1) ? 0 : item.id)    for i in 0..6      draw_par_new(i)    end    @new_actor.equip(@left_index, (old_item == nil || old_item == -1) ? 0 : old_item.id)  endend复制代码
    复制代码
    part2:[code]class Scene_Equip  def update_change    Input.update    @help_text.bitmap.clear    if @data[@left_index][@right_index] != nil && @data[@left_index][@right_index]!= -1      @help_text.bitmap.draw_text(0,0,510,20,@data[@left_index][@right_index].description,1)    end    if Input.trigger?(Input::B)      @right = false      @right_index = 0      @equip_choose.visible = false      @equip_choose.blink_off      @page = 0      @new_equip[@left_index].y = 0      for i in 0..6        draw_par(i)      end      return     end    right_index(true) if Input.trigger?(Input::DOWN)    right_index if Input.trigger?(Input::UP)    if Input.trigger?(Input::C)      $game_system.se_play($data_system.equip_se)      item = @data[@left_index][@right_index]      @actor.equip(@left_index, (item == nil || item == -1) ? 0 : item.id)      @new_equip[@left_index].bitmap.clear      @data[@left_index] = []      @new_equip[@left_index].bitmap.draw_text(40,30,184,12,"[脱下装备]")      @data[@left_index].push(-1)      y = 44      if @left_index == 0        weapon_set = $data_classes[@actor.class_id].weapon_set        for n in 1...$data_weapons.size          if $game_party.weapon_number(n) > 0 and weapon_set.include?(n)            @new_equip[@left_index].bitmap.blt(10,y-6,            RPG::Cache.icon($data_weapons[n].icon_name),Rect.new(0,0,24,20))            @new_equip[@left_index].bitmap.draw_text(40,y,184,12,$data_weapons[n].name)            @new_equip[@left_index].bitmap.draw_text(40,y,140,12,$game_party.weapon_number(n).to_s,2)            @data[@left_index].push($data_weapons[n])            y += 14          end        end      end      if @left_index != 0        armor_set = $data_classes[@actor.class_id].armor_set        for n in 1...$data_armors.size          if $game_party.armor_number(n) > 0 and armor_set.include?(n)            if $data_armors[n].kind == @left_index-1              @new_equip[@left_index].bitmap.blt(10,y-6,              RPG::Cache.icon($data_armors[n].icon_name),Rect.new(0,0,24,20))              @new_equip[@left_index].bitmap.draw_text(40,y,184,12,$data_armors[n].name)              @new_equip[@left_index].bitmap.draw_text(40,y,140,12,$game_party.armor_number(n).to_s,2)              @data[@left_index].push($data_armors[n])              y += 14            end          end        end      end      @equip[@left_index].bitmap.clear      @equip[@left_index].bitmap.font.size = 12      @right_index = 0      @page = 0      @new_equip[@left_index].y = 0      @equip_choose.y = @right_index * 14 + 28      @help_text.bitmap.clear      if @data[@left_index][@right_index] != nil && @data[@left_index][@right_index]!= -1        @help_text.bitmap.draw_text(0,0,510,20,@data[@left_index][@right_index].description,1)      end      for i in 0..6        draw_par(i)      end      if @left_index == 0        @equip[@left_index].bitmap.blur_draw_text(0,40,40,24,$data_system.words.weapon,1,        Color.new(0,0,0,10),2)        return if $data_weapons[@actor.weapon_id].nil?        @equip[@left_index].bitmap.blt(8,12,        RPG::Cache.icon($data_weapons[@actor.weapon_id].icon_name),Rect.new(0,0,24,24))        a = $data_weapons[@actor.weapon_id].name.scan(/./)        a.each_index {|b| @equip[@left_index].bitmap.blur_draw_text(0,70+16*b,40,16,        a,1,Color.new(0,0,0,10),2)}      else        eval "@equip[@left_index].bitmap.blur_draw_text(0,        40,40,24,$data_system.words.armor#{@left_index},1,Color.new(0,0,0,10),2)"        eval "return if $data_armors[@actor.armor#{@left_index}_id].nil?"        eval "b = RPG::Cache.icon($data_armors[@actor.armor#{@left_index}_id].icon_name)"        eval "@equip[@left_index].bitmap.blt(8,12,b,Rect.new(0,0,24,24))"        eval "a = $data_armors[@actor.armor#{@left_index}_id].name.scan(/./)"        a.each_index {|b| @equip[@left_index].bitmap.blur_draw_text(0,70+16*b,40,16,        a,1,Color.new(0,0,0,10),2)}      end      return    end  end  def right_index(plus=false)    if plus      return if @right_index >= @data[@left_index].size - 1      @right_index += 1      page(true) if @right_index >= @page + 10      @equip_choose.y = @right_index * 14 - @page * 14 + 28    else      return if @right_index

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-3-15 07:16 , Processed in 0.142263 second(s), 58 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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