#encoding:utf-8 #============================================================================== # ■ Sprite_Character #------------------------------------------------------------------------------ # 地图人物的精灵。根据 Game_Character 类的实例自动变化。 #============================================================================== class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # ● 释放 #-------------------------------------------------------------------------- def dispose end_animation end_balloon super @sprite_name.dispose if @sprite_name @window_talking.dispose if @window_talking end #-------------------------------------------------------------------------- # ● 更新位置 #-------------------------------------------------------------------------- def update_position self.x = @character.screen_x self.y = @character.screen_y self.z = @character.screen_z unless @sprite_name || @character.name[/EV/] || @character.name.size == 0 bitmap = Bitmap.new(1, 1) width = bitmap.text_size(@character.name).width + 6 bitmap.dispose if !$show_off @sprite_name = Sprite.new(self.viewport) @sprite_name.bitmap = Bitmap.new([width, 1].max, 12) @sprite_name.bitmap.font.shadow = true @sprite_name.bitmap.fill_rect(0, 0, width, 12, Color.new(0, 0, 0, 120)) @sprite_name.bitmap.draw_text(0, 0, width, 12, @character.name, 1) @sprite_name.ox = width / 2 @sprite_name.oy = 0 end end if @sprite_name @sprite_name.x = self.x @sprite_name.y = self.y @sprite_name.z = self.z end end #-------------------------------------------------------------------------- # ● 更新其他 #-------------------------------------------------------------------------- def update_other self.opacity = @character.opacity self.blend_type = @character.blend_type self.bush_depth = @character.bush_depth self.visible = !@character.transparent if @character.talking.size > 0 bitmap = Bitmap.new(1, 1) datas = [] x = 0 y = 0 while char = @character.talking.slice!(/./m) if x >= 144 x = 0 y += 1 end case char when "\n" x = 0 y += 1 next end x += bitmap.text_size(char).width datas[y] ||= "" datas[y] += char end bitmap.dispose @window_talking.dispose if @window_talking @window_talking = Window_Base.new(0, 0, (y > 0 ? 144 : x) + 32, y * 16 + 42) @window_talking.openness = 0 @window_talking.open for i in 0...datas.size data = datas[i] @window_talking.contents.draw_text(0, i * 16, @window_talking.contents.width, 16, data) end @counter_talking = 0 end if @window_talking && !@window_talking.disposed? @window_talking.update @window_talking.x = self.x - @window_talking.width / 2 @window_talking.y = self.y - @window_talking.height - 32 case (@counter_talking += 1) when 240 @window_talking.close end end end end
#encoding:utf-8 #============================================================================== # ■ Scene_Map #------------------------------------------------------------------------------ # 地图画面 #============================================================================== $show_off=true class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ● 开始处理 #-------------------------------------------------------------------------- def start super SceneManager.clear $game_player.straighten $game_map.refresh $game_message.visible = false create_spriteset create_all_windows @menu_calling = false if !$show_off $game_mapui = Game_MapUI.new $game_mapui.update end end #-------------------------------------------------------------------------- # ● 结束处理 #-------------------------------------------------------------------------- def terminate super SceneManager.snapshot_for_background dispose_spriteset perform_battle_transition if SceneManager.scene_is?(Scene_Battle) $game_mapui.dispose if $game_mapui end #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- def update super $game_map.update(true) $game_player.update $game_timer.update @spriteset.update update_scene if scene_change_ok? $game_mapui.update if $game_mapui end def call_menu end end
2014-02-09_072217.gif (20.14 KB, 下载次数: 29)
2014-02-09_072511.gif (3.98 KB, 下载次数: 30)
rmav 发表于 2014-2-9 07:26
看事件页,你就明白了吧
https://rpg.blue/forum.php?mod=attachment&aid=MjIyMDc4fGFjNjkyYjA0NDVkODUzNWQyZmI1NGNjY2YwYjFiMWIyfDE3NDA0Mjg4Mzc%3D&request=yes&_f=.gif
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |