| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 4581 |  
| 最后登录 | 2014-7-19 |  
| 在线时间 | 151 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间151 小时注册时间2011-4-23帖子14 | 
| 本帖最后由 风月残情 于 2011-5-9 11:05 编辑 
 
   请问一下,怎么可以把那个战斗笔记的蓝框框去掉?
 我用的是
 
 
 #================================================================
 # 本脚本来自www.66RPG.com,使用和转载请保留此信息
 #===================================================================
 #——————————————————————————————————————
 #魔物图鉴+介绍
 #
 #战斗终了时自动添加敌人进入图鉴(class Scene_Battle start_phase5 追加。
 #目前与各种战斗系统没有发现冲突)
 #不想加入图鉴的怪物设置其“不加入图鉴”属性有效度为A即可
 #图鉴完成度的表示功能追加
 #SHOW_COMPLETE_TYPE 的数值可以设定
 #当为1,显示现有个数/总数,当为2,显示完成百分比,当为3,全显示。
 #使用方法:$scene = Scene_MonsterBook.new
 #数据库中属性里面那些种族特效的位置,建议把默认的“对 不死”之类改成“不死”,
 #不然显示会很奇怪
 #由于雷达图的设计问题,只支持8项属性
 #默认种族特效处理属性中编号9到编号16,
 #如果你做了修改请自行改动380行左右的for i in 9..16这一句代码
 #显示各种信息位于630行左右,想不显示的话只要删除相应语句
 CHARA_INFO=[]#怪物的介绍,对应怪物id,空格为换行,
 #同时也会自动换行,没有写介绍的怪物会自动显示“无详细信息”
 #CHARA_INFO[1] = ""
 #CHARA_INFO[2] = ""
 #CHARA_INFO[3] = ""
 #没有信息测试,4号怪物
 #=============
 #雷达图相关处理部分
 #=============
 class Bitmap
 def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
 distance = (start_x - end_x).abs + (start_y - end_y).abs
 if end_color == start_color
 for i in 1..distance
 x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
 y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
 if width == 1
 self.set_pixel(x, y, start_color)
 else
 self.fill_rect(x, y, width, width, start_color)
 end
 end
 else
 for i in 1..distance
 x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
 y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
 r = start_color.red * (distance-i)/distance + end_color.red * i/distance
 g = start_color.green * (distance-i)/distance + end_color.green * i/distance
 b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
 a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
 if width == 1
 self.set_pixel(x, y, Color.new(r, g, b, a))
 else
 self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
 end
 end
 end
 end
 end
 #=============
 # Graphic_Def_Elem
 #=============
 class Window_Base
 FONT_SIZE = 18
 WORD_ELEMENT_GUARD = "玄术有效度"
 NUMBER_OF_ELEMENTS = 8
 ELEMENT_ORDER = [1,3,8,5,2,4,7,6]
 GRAPH_SCALINE_COLOR = Color.new(255, 255, 255, 128)
 GRAPH_SCALINE_COLOR_SHADOW = Color.new( 0, 0, 0, 192)
 GRAPH_LINE_COLOR = Color.new(255, 255, 64, 255)
 GRAPH_LINE_COLOR_MINUS = Color.new( 64, 255, 255, 255)
 GRAPH_LINE_COLOR_PLUS = Color.new(255, 64, 64, 255)
 end
 #——————————————————————————————————————
 module Enemy_Book_Config
 DROP_ITEM_NEED_ANALYZE = true #显示物品
 EVA_NAME = "回避修正" #回避修正的名称(因为数据库中没有定义)
 SHOW_COMPLETE_TYPE = 3 #图鉴完成率表示方法
 end
 class Data_MonsterBook
 #--------------------------------------------------------------------------
 # ● 图鉴用ID設定
 #--------------------------------------------------------------------------
 def enemy_book_id_set
 data = [0]
 data[1] = 2
 data[2] = 1
 data[3] = 15
 data[4] = 25
 data[5] = 18
 data[6] = 30
 return data
 end
 end
 class Game_Temp
 attr_accessor :enemy_book_data
 alias temp_enemy_book_data_initialize initialize
 def initialize
 temp_enemy_book_data_initialize
 @enemy_book_data = Data_MonsterBook.new
 end
 end
 class Game_Party
 #==============================================
 #--------------------------------------------------------------------------
 # ● 公開インスタンス変数
 #--------------------------------------------------------------------------
 attr_reader :actors # アクター
 attr_reader :gold # ゴールド
 attr_reader :steps # 歩数
 attr_accessor :mission # 任务★★★★★★★★★★★★★
 attr_accessor :pr # 当前章节数★★★★★★★★★★★★★
 attr_reader :prname
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize
 # アクターの配列を作成
 @actors = []
 # ゴールドと歩数を初期化
 @gold = 0
 @steps = 0
 # アイテム、武器、防具の所持数ハッシュを作成
 @items = {}
 @weapons = {}
 @armors = {}
 end
 #==============================================
 attr_accessor :enemy_info # 出会った敵情報(図鑑用)
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 alias book_info_initialize initialize
 def initialize
 book_info_initialize
 @enemy_info = {}
 end
 #--------------------------------------------------------------------------
 # ● エネミー情報の追加(図鑑用)
 # type : 通常遭遇かアナライズか 0:通常 1:アナライズ -1:情報削除
 # 0:無遭遇 1:遭遇済 2:アナライズ済
 #--------------------------------------------------------------------------
 def add_enemy_info(enemy_id, type = 0)
 case type
 when 0
 if @enemy_info[enemy_id] == 2
 return false
 end
 @enemy_info[enemy_id] = 1
 when 1
 @enemy_info[enemy_id] = 2
 when -1
 @enemy_info[enemy_id] = 0
 end
 end
 #--------------------------------------------------------------------------
 # ● 魔物図鑑の最大登録数を取得
 #--------------------------------------------------------------------------
 def enemy_book_max
 return $game_temp.enemy_book_data.id_data.size - 1
 end
 #--------------------------------------------------------------------------
 # ● 魔物図鑑の現在登録数を取得
 #--------------------------------------------------------------------------
 def enemy_book_now
 now_enemy_info = @enemy_info.keys
 # 登録無視の属性IDを取得
 no_add = $game_temp.enemy_book_data.no_add_element
 new_enemy_info = []
 for i in now_enemy_info
 enemy = $data_enemies
 next if enemy.name == ""
 if enemy.element_ranks[no_add] == 1
 next
 end
 new_enemy_info.push(enemy.id)
 end
 return new_enemy_info.size
 end
 #--------------------------------------------------------------------------
 # ● 魔物図鑑の完成率を取得
 #--------------------------------------------------------------------------
 def enemy_book_complete_percentage
 e_max = enemy_book_max.to_f
 e_now = enemy_book_now.to_f
 comp = e_now / e_max * 100
 return comp.truncate
 end
 end
 class Interpreter
 def enemy_book_max
 return $game_party.enemy_book_max
 end
 def enemy_book_now
 return $game_party.enemy_book_now
 end
 def enemy_book_comp
 return $game_party.enemy_book_complete_percentage
 end
 end
 class Scene_Battle
 alias add_enemy_info_start_phase5 start_phase5
 def start_phase5
 for enemy in $game_troop.enemies
 # エネミーが隠れ状態でない場合
 unless enemy.hidden
 # 敵遭遇情報追加
 $game_party.add_enemy_info(enemy.id, 0)
 end
 end
 add_enemy_info_start_phase5
 end
 end
 class Window_Base < Window
 #--------------------------------------------------------------------------
 # ● エネミーの戦闘後獲得アイテムの描画
 #--------------------------------------------------------------------------
 def draw_enemy_drop_item(enemy, x, y)
 self.contents.font.color = normal_color
 treasures = []
 if enemy.item_id > 0
 treasures.push($data_items[enemy.item_id])
 end
 if enemy.weapon_id > 0
 treasures.push($data_weapons[enemy.weapon_id])
 end
 if enemy.armor_id > 0
 treasures.push($data_armors[enemy.armor_id])
 end
 # 現状ではとりあえず1つのみ描画
 if treasures.size > 0
 item = treasures[0]
 bitmap = RPG::Cache.icon(item.icon_name)
 opacity = 255
 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
 name = treasures[0].name
 else
 self.contents.font.color = disabled_color
 name = "无"
 end
 self.contents.draw_text(x+28, y, 212, 32, name)
 end
 #--------------------------------------------------------------------------
 # ● エネミーの図鑑IDの描画
 #--------------------------------------------------------------------------
 def draw_enemy_book_id(enemy, x, y)
 self.contents.font.color = normal_color
 id = $game_temp.enemy_book_data.id_data.index(enemy.id)
 self.contents.draw_text(x, y, 32, 32, id.to_s)
 end
 #--------------------------------------------------------------------------
 # ● 敌人简介描绘
 #--------------------------------------------------------------------------
 def draw_enemy_other(enemy, x, y)
 if CHARA_INFO[enemy.id]==nil
 CHARA_INFO[enemy.id] = "没有相关资料"
 end
 self.contents.font.size=16
 x+=self.contents.text_size("").width
 info = CHARA_INFO[enemy.id]
 s=info.scan(/./)
 #一行显示21个字
 for i in s
 sss = self.contents.text_size(i)
 if i==" "
 y+=16
 x=0
 elsif (x+sss.width)>(width - 32-260)
 y+=16
 x=0
 self.contents.draw_text(x, y, sss.width, sss.height, i)
 x+=sss.width
 else
 self.contents.draw_text(x, y, sss.width, sss.height, i)
 x+=sss.width
 end
 end
 end
 #--------------------------------------------------------------------------
 # ● 敌人特技描绘
 #--------------------------------------------------------------------------
 def draw_enemy_action(enemy, x, y)
 self.contents.font.size=16
 yy=y
 self.contents.font.color = system_color
 self.contents.draw_text(x, yy, 80, 18,"行动列表")
 self.contents.font.color = normal_color
 for action in enemy.actions
 yy+=18
 if action.kind==0
 case action.basic
 when 0
 ac="普通攻击"
 when 1
 ac="防御"
 when 2
 ac="逃跑"
 when 3
 ac="无"
 end
 self.contents.draw_text(x, yy, 160, 18, ac )
 end
 if action.kind==1
 self.contents.draw_text(x, yy, 160, 18, $data_skills[action.skill_id].name )
 end
 end
 end
 #雷达图描绘
 #===================================================================
 def draw_actor_element_radar_graph(actor, x, y)
 radius = 56
 cx = x + radius + FONT_SIZE + 48
 cy = y + radius + FONT_SIZE + 32
 self.contents.font.color = system_color
 self.contents.draw_text(x, y, 104, 32, WORD_ELEMENT_GUARD)
 for loop_i in 0..NUMBER_OF_ELEMENTS
 if loop_i == 0
 else
 @pre_x = @now_x
 @pre_y = @now_y
 @pre_ex = @now_ex
 @pre_ey = @now_ey
 @color1 = @color2
 end
 if loop_i == NUMBER_OF_ELEMENTS
 eo = ELEMENT_ORDER[0]
 else
 eo = ELEMENT_ORDER[loop_i]
 end
 er = actor.element_rate(eo)
 estr = $data_system.elements[eo]
 @color2 = er < 0 ? GRAPH_LINE_COLOR_MINUS : er > 100 ? GRAPH_LINE_COLOR_PLUS : GRAPH_LINE_COLOR
 if er <0
 then xsh=true
 else xsh=false
 end
 er = er.abs
 th = Math::PI * (0.5 - 2.0 * loop_i / NUMBER_OF_ELEMENTS)
 @now_x = cx + (radius * Math.cos(th)).floor
 @now_y = cy - (radius * Math.sin(th)).floor
 @now_wx = cx + ((radius+FONT_SIZE*2/2) * Math.cos(th)).floor - FONT_SIZE
 @now_wy = cy - ((radius+FONT_SIZE*1/2) * Math.sin(th)).floor - FONT_SIZE/2
 @now_vx = cx + ((radius+FONT_SIZE*6/2) * Math.cos(th)).floor - FONT_SIZE
 @now_vy = cy - ((radius+FONT_SIZE*3/2) * Math.sin(th)).floor - FONT_SIZE/2
 @now_ex = cx + (er*radius/100 * Math.cos(th)).floor
 @now_ey = cy - (er*radius/100 * Math.sin(th)).floor
 if loop_i == 0
 @pre_x = @now_x
 @pre_y = @now_y
 @pre_ex = @now_ex
 @pre_ey = @now_ey
 @color1 = @color2
 else
 end
 next if loop_i == 0
 self.contents.draw_line(cx+1,cy+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
 self.contents.draw_line(@pre_x+1,@pre_y+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
 self.contents.draw_line(cx,cy, @now_x,@now_y, GRAPH_SCALINE_COLOR)
 self.contents.draw_line(@pre_x,@pre_y, @now_x,@now_y, GRAPH_SCALINE_COLOR)
 self.contents.draw_line(@pre_ex,@pre_ey, @now_ex,@now_ey, @color1, 2, @color2)
 self.contents.font.size = FONT_SIZE
 if xsh == true
 then self.contents.font.color = Color.new(100,255,128,128)
 sdd="-"
 else self.contents.font.color = system_color
 sdd=""
 end
 self.contents.draw_text(@now_wx,@now_wy, FONT_SIZE*2, FONT_SIZE, estr, 1)
 self.contents.font.color = Color.new(255,255,255,128)
 self.contents.draw_text(@now_vx,@now_vy, FONT_SIZE*2, FONT_SIZE, sdd+er.to_s + "%", 2)
 end
 end
 #_----------------------------------------------
 def draw_race(enemy,x,y)
 text="无"
 text2="无"
 for i in 9..16
 if enemy.element_rate(i) == 200
 text = $data_system.elements
 end
 if enemy.element_rate(i) == 150
 text2 =$data_system.elements
 end
 end
 #self.contents.font.color = system_color
 #self.contents.draw_text(x, y, 80, 32,"主要种族")
 #self.contents.font.color = normal_color
 #self.contents.draw_text(x+80, y, 76, 32,text,2)
 #self.contents.font.color = system_color
 #self.contents.draw_text(x+160, y, 80, 32,"次要种族")
 #self.contents.font.color = normal_color
 #self.contents.draw_text(x+80+160, y, 76, 32,text2,2)
 end
 #--------------------------------------------------------------------------
 # ● エネミーの名前の描画
 # enemy : エネミー
 # x : 描画先 X 座標
 # y : 描画先 Y 座標
 #--------------------------------------------------------------------------
 def draw_enemy_name(enemy, x, y)
 self.contents.font.color = normal_color
 self.contents.draw_text(x, y, 152, 32, enemy.name)
 end
 #--------------------------------------------------------------------------
 # ● エネミーグラフィックの描画(アナライズ)
 # enemy : エネミー
 # x : 描画先 X 座標
 # y : 描画先 Y 座標
 #--------------------------------------------------------------------------
 def draw_enemy_graphic(enemy, x, y, opacity = 255)
 end
 #--------------------------------------------------------------------------
 # ● エネミーの獲得EXPの描画
 # enemy : エネミー
 # x : 描画先 X 座標
 # y : 描画先 Y 座標
 #--------------------------------------------------------------------------
 def draw_enemy_exp(enemy, x, y)
 self.contents.font.color = system_color
 self.contents.draw_text(x, y, 120, 32, "EXP")
 self.contents.font.color = normal_color
 self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2)
 end
 #--------------------------------------------------------------------------
 # ● エネミーの獲得GOLDの描画
 # enemy : エネミー
 # x : 描画先 X 座標
 # y : 描画先 Y 座標
 #--------------------------------------------------------------------------
 def draw_enemy_gold(enemy, x, y)
 self.contents.font.color = system_color
 self.contents.draw_text(x, y, 120, 32, "掉落金钱")
 self.contents.font.color = normal_color
 self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2)
 end
 end
 class Game_Enemy_Book < Game_Enemy
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize(enemy_id)
 super(2, 1)#ダミー
 @enemy_id = enemy_id
 enemy = $data_enemies[@enemy_id]
 @battler_name = enemy.battler_name
 @battler_hue = enemy.battler_hue
 @hp = maxhp
 @sp = maxsp
 end
 end
 class Data_MonsterBook
 attr_reader :id_data
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize
 @id_data = enemy_book_id_set
 end
 #--------------------------------------------------------------------------
 # ● 図鑑用登録無視属性取得
 #--------------------------------------------------------------------------
 def no_add_element
 no_add = 0
 # 登録無視の属性IDを取得
 for i in 1...$data_system.elements.size
 if $data_system.elements =~ /不加入图鉴/
 no_add = i
 break
 end
 end
 return no_add
 end
 #--------------------------------------------------------------------------
 # ● 図鑑用敵ID設定
 #--------------------------------------------------------------------------
 def enemy_book_id_set
 data = [0]
 no_add = no_add_element
 # 登録無視の属性IDを取得
 for i in 1...$data_enemies.size
 enemy = $data_enemies
 next if enemy.name == ""
 if enemy.element_ranks[no_add] == 1
 next
 end
 data.push(enemy.id)
 end
 return data
 end
 end
 
 class Window_MonsterBook < Window_Selectable
 attr_reader :data
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize(index=0)
 super(0, 64, 640, 416)
 @column_max = 2
 @book_data = $game_temp.enemy_book_data
 @data = @book_data.id_data.dup
 @data.shift
 #@data.sort!
 @item_max = @data.size
 self.index = 0
 self.opacity = 0###
 @menu_com = Sprite.new###
 @menu_com.bitmap = RPG::Cache.picture("图鉴外页.png")###
 refresh if @item_max > 0
 end
 #--------------------------------------------------------------------------
 # ● 遭遇データを取得
 #--------------------------------------------------------------------------
 def data_set
 data = $game_party.enemy_info.keys
 data.sort!
 newdata = []
 for i in data
 next if $game_party.enemy_info == 0
 # 図鑑登録無視を考慮
 if book_id(i) != nil
 newdata.push(i)
 end
 end
 return newdata
 end
 #--------------------------------------------------------------------------
 # ● 表示許可取得
 #--------------------------------------------------------------------------
 def show?(id)
 if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil
 return false
 else
 return true
 end
 end
 #--------------------------------------------------------------------------
 # ● 図鑑用ID取得
 #--------------------------------------------------------------------------
 def book_id(id)
 return @book_data.index(id)
 end
 #--------------------------------------------------------------------------
 # ● エネミー取得
 #--------------------------------------------------------------------------
 def item
 return @data[self.index]
 end
 #--------------------------------------------------------------------------
 # ● リフレッシュ
 #--------------------------------------------------------------------------
 def refresh
 if self.contents != nil
 self.contents.dispose
 self.contents = nil
 end
 self.contents = Bitmap.new(width - 32, row_max * 32)
 #項目数が 0 でなければビットマップを作成し、全項目を描画
 if @item_max > 0
 for i in 0...@item_max
 draw_item(i)
 end
 end
 end
 #--------------------------------------------------------------------------
 # ● 項目の描画
 # index : 項目番号
 #--------------------------------------------------------------------------
 def draw_item(index)
 enemy = $data_enemies[@data[index]]
 return if enemy == nil
 x = 4 + index % 2 * (288 + 32)
 y = index / 2 * 32
 rect = Rect.new(x, y, self.width / @column_max - 32, 32)
 self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
 self.contents.font.color = normal_color
 draw_enemy_book_id(enemy, x, y)
 if show?(enemy.id)
 self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0)
 else
 self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0)
 return
 end
 if analyze?(@data[index])
 self.contents.font.color = text_color(3)
 self.contents.draw_text(x + 256, y, 24, 32, "済", 2)
 end
 end
 #--------------------------------------------------------------------------
 # ● アナライズ済かどうか
 #--------------------------------------------------------------------------
 def analyze?(enemy_id)
 if $game_party.enemy_info[enemy_id] == 2
 return true
 else
 return false
 end
 end
 end
 
 class Window_MonsterBook_Info < Window_Base
 include Enemy_Book_Config
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize
 super(0, 0+64, 640, 480-64)
 #self.back_opacity=255
 self.opacity = 0###
 @menu_com = Sprite.new###
 @menu_com.bitmap = RPG::Cache.picture("图鉴内页.png")###
 self.contents = Bitmap.new(width - 32, height - 32)
 end
 #--------------------------------------------------------------------------
 # ● リフレッシュ
 #--------------------------------------------------------------------------
 def refresh(enemy_id)
 self.contents.clear
 self.contents.font.size = 22
 enemy = Game_Enemy_Book.new(enemy_id)
 @gra = Sprite_Enemy_Graphic.new(nil,enemy)
 @gra.z = 120 #怪物图片
 draw_enemy_book_id(enemy, 4, 0) #各种详细信息
 draw_enemy_name(enemy, 48, 0)
 draw_actor_hp(enemy, 288, 0)
 draw_actor_sp(enemy, 288+160, 0)
 self.contents.font.size=18
 draw_actor_parameter(enemy, 288 , 25, 0)
 self.contents.font.color = system_color
 self.contents.draw_text(288+160, 25, 120, 32, EVA_NAME)
 self.contents.font.color = normal_color
 self.contents.draw_text(288+160 + 120, 25, 36, 32, enemy.eva.to_s, 2)
 draw_actor_parameter(enemy, 288 , 50, 3)
 draw_actor_parameter(enemy, 288+160, 50, 4)
 draw_actor_parameter(enemy, 288 , 75, 5)
 draw_actor_parameter(enemy, 288+160, 75, 6)
 draw_actor_parameter(enemy, 288 , 100, 1)
 draw_actor_parameter(enemy, 288+160, 100, 2)
 draw_enemy_exp(enemy, 288, 125)
 draw_enemy_gold(enemy, 288+160, 125)
 #draw_race(enemy, 288, 150)
 #--------------------------------------------------------------------
 #draw_enemy_other(enemy, 0, 280) #简介文字
 draw_enemy_action(enemy,200, 30) #显示敌人行动
 draw_actor_element_radar_graph(enemy, 360, 180)#雷达图
 #--------------------------------------------------------------------
 if DROP_ITEM_NEED_ANALYZE==true #掉落物品
 self.contents.font.color = system_color
 self.contents.font.size=16
 self.contents.draw_text(0, 235, 96, 32, "掉落物品")
 draw_enemy_drop_item(enemy, 128, 235)
 self.contents.font.color = normal_color
 self.contents.font.size=18
 end
 end
 def cl
 @gra.dispose
 end
 #--------------------------------------------------------------------------
 # ● アナライズ済かどうか
 #--------------------------------------------------------------------------
 def analyze?(enemy_id)
 if $game_party.enemy_info[enemy_id] == 2
 return true
 else
 return false
 end
 end
 end
 
 class Scene_MonsterBook
 include Enemy_Book_Config
 #--------------------------------------------------------------------------
 # ● メイン処理
 #--------------------------------------------------------------------------
 def main
 $game_temp.enemy_book_data = Data_MonsterBook.new
 # ウィンドウを作成
 @title_window = Window_Base.new(0, 0, 640, 64)
 @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
 @title_window.contents.draw_text(4, 0, 320, 32, "战斗笔记", 0)
 if SHOW_COMPLETE_TYPE != 0
 case SHOW_COMPLETE_TYPE
 when 1
 e_now = $game_party.enemy_book_now
 e_max = $game_party.enemy_book_max
 text = e_now.to_s + "/" + e_max.to_s
 when 2
 comp = $game_party.enemy_book_complete_percentage
 text = comp.to_s + "%"
 when 3
 e_now = $game_party.enemy_book_now
 e_max = $game_party.enemy_book_max
 comp = $game_party.enemy_book_complete_percentage
 text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
 end
 if text != nil
 @title_window.contents.draw_text(320, 0, 288, 32, text, 2)
 end
 end
 @main_window = Window_MonsterBook.new
 @main_window.active = true
 # インフォウィンドウを作成 (不可視・非アクティブに設定)
 @info_window = Window_MonsterBook_Info.new
 @info_window.z = 110
 @info_window.visible = false
 @info_window.active = false
 @visible_index = 0
 # トランジション実行
 Graphics.transition
 # メインループ
 loop do
 # ゲーム画面を更新
 Graphics.update
 # 入力情報を更新
 Input.update
 # フレーム更新
 update
 # 画面が切り替わったらループを中断
 if $scene != self
 break
 end
 end
 # トランジション準備
 Graphics.freeze
 # ウィンドウを解放
 @main_window.dispose
 @info_window.dispose
 @title_window.dispose
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 def update
 # ウィンドウを更新
 @main_window.update
 @info_window.update
 # gra.update
 if @info_window.active
 update_info
 return
 end
 # メインウィンドウがアクティブの場合: update_target を呼ぶ
 if @main_window.active
 update_main
 return
 end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (メインウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_main
 # B ボタンが押された場合
 if Input.trigger?(Input::B)
 # キャンセル SE を演奏
 $game_system.se_play($data_system.cancel_se)
 $scene = Scene_Map.new
 return
 end
 # C ボタンが押された場合
 if Input.trigger?(Input::C)
 if @main_window.item == nil or @main_window.show?(@main_window.item) == false
 # ブザー SE を演奏
 $game_system.se_play($data_system.buzzer_se)
 return
 end
 # 決定 SE を演奏
 $game_system.se_play($data_system.decision_se)
 @main_window.active = false
 @main_window.visible = false #ONEWateR
 @info_window.active = true
 @info_window.visible = true
 @visible_index = @main_window.index
 @info_window.refresh(@main_window.item)
 return
 end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (インフォウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_info
 # B ボタンが押された場合
 if Input.trigger?(Input::B)
 # キャンセル SE を演奏
 $game_system.se_play($data_system.cancel_se)
 @main_window.active = true
 @main_window.visible = true #ONEWateR
 @info_window.active = false
 @info_window.visible = false
 @info_window.cl
 return
 end
 # C ボタンが押された場合
 if Input.trigger?(Input::C)
 # 決定 SE を演奏
 #$game_system.se_play($data_system.decision_se)
 return
 end
 if Input.trigger?(Input::L)
 # 決定 SE を演奏
 $game_system.se_play($data_system.decision_se)
 loop_end = false
 while loop_end == false
 if @visible_index != 0
 @visible_index -= 1
 else
 @visible_index = @main_window.data.size - 1
 end
 loop_end = true if @main_window.show?(@main_window.data[@visible_index])
 end
 id = @main_window.data[@visible_index]
 @info_window.refresh(id)
 return
 end
 if Input.trigger?(Input::R)
 # 決定 SE を演奏
 $game_system.se_play($data_system.decision_se)
 loop_end = false
 while loop_end == false
 if @visible_index != @main_window.data.size - 1
 @visible_index += 1
 else
 @visible_index = 0
 end
 loop_end = true if @main_window.show?(@main_window.data[@visible_index])
 end
 id = @main_window.data[@visible_index]
 @info_window.refresh(id)
 return
 end
 end
 end
 #==================================================================
 # 本脚本来自www.66RPG.com,使用和转载请保留此信息
 #==================================================================
 class Sprite_Enemy_Graphic< Sprite
 attr_accessor :enemy
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize(viewport,enemy)
 super(viewport)
 if @enemy != enemy
 self.bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
 cw = self.bitmap.width
 ch = self.bitmap.height
 if cw>ch
 self.zoom_x=1
 self.zoom_y=1
 else
 self.zoom_x=1
 self.zoom_y=1
 end
 self.x=80
 self.y=180
 @enemy=enemy
 end
 end
 #--------------------------------------------------------------------------
 # ● 解放
 #--------------------------------------------------------------------------
 def dispose
 if self.bitmap != nil
 self.bitmap.dispose
 end
 super
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 def refresh(enemy)
 end
 end
 | 
 |