赞 | 0 |
VIP | 15 |
好人卡 | 0 |
积分 | 1 |
经验 | 14145 |
最后登录 | 2019-5-11 |
在线时间 | 183 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 183 小时
- 注册时间
- 2005-12-25
- 帖子
- 215
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 小徐 于 2013-5-5 12:57 编辑
做了个浏览CG的界面,问题是这样的:
用代码:- cg = Sprite.new
- cg.bitmap = Bitmap.new("Graphics/CG/#{$game_variables[50]}") #显示图片的编号
复制代码 显示的图片无法消失,释放图片(.dispose)试过了,悲剧地无效……
目前的情况是,随着切换,图片会一张一张重叠,帧数下降到卡死,求助QAQ
全代码如下:(因为各种释放图片都试过了无效,所以把释放的代码去掉了……哪位大神帮我看下把释放放在哪里能把图片关掉QAQ)
PS:$game_screen.pictures[z].show('XXX', 0,x,y , 100, 100, 255, 0)也试过了,然后用事件的消除($game_screen.pictures[number].erase
)也无效……QAQ- class Scene_YC_CG
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # menu_index : 命令光标的初期位置
- #--------------------------------------------------------------------------
- def initialize(menu_index = 0)
- @menu_index = menu_index
- @parameter = []
- @cg=0
- @cg_index=[]
- end
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- # 生成命令窗口
- s1 = "CG1"
- s2 = "CG2"
- s3 = "CG3"
- s4 = "CG4"
- s5 = "CG5"
- s6 = "CG6"
- s7 = "CG7"
- s8 = "CG8"
- s9 = "CG9"
- s10 = "CG10"
- s11 = "CG11"
- s12 = "CG12"
- s13 = "CG13"
- s14 = "CG14"
- @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14])
- @command_window.index = @menu_index
- @command_window.x = 0
- @command_window.y = 0
- # @cg_show_window=Window_Cg_Show.new
- # 执行过渡
- Graphics.transition
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入情报
- Input.update
- # 刷新画面
- update
- # 如果画面切换的话就中断循环
- if $scene != self
- break
- end
- end
- # 准备过渡
- Graphics.freeze
- # 执行过度
- Graphics.transition(40)
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @command_window.dispose
- # 如果在标题画面切换中的情况下
- if $scene.is_a?(Scene_Title)
- # 淡入淡出画面
- Graphics.transition
- Graphics.freeze
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- # 刷新命令窗口
- @command_window.update
- case @command_window.index
- when 0 # Cg1
- $game_variables[50]=1
- cg_update
- when 1 # Cg2
- $game_variables[50]=2
- cg_update
- when 2 # 取消
- $game_variables[50]=3
- cg_update
- when 3 # 取消
- $game_variables[50]=4
- cg_update
- end
- # 按下 B 键的情况下
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 切换到菜单画面
- $scene = Scene_YC_Menu.new(1)
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新CG画面时的处理
- #--------------------------------------------------------------------------
- def cg_update
- cg = Sprite.new
- cg.bitmap = Bitmap.new("Graphics/CG/#{$game_variables[50]}")
- end
- #--------------------------------------------------------------------------
- # ● 选择命令 [取消] 时的处理
- #--------------------------------------------------------------------------
- def command_cancel
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到菜单画面
- $scene = Scene_YC_Menu.new(1)
- end
- end
复制代码
看这要命的帧数呀QAQ!!! |
|