Project1
标题:
请教个Bitmap的问题
[打印本页]
作者:
缺牙de兔子
时间:
2007-12-29 04:50
标题:
请教个Bitmap的问题
以下引用
缺牙de兔子于2007-12-28 18:00:45
的发言:
没完了--刷新失败
[本贴由作者于 2007-12-28 19:41:53 最后编辑]
#######################################################################################################
#
#######################################################################################################
class Zandou_My_Battle
def main
judge($game_variables[76],$game_variables[77],$game_variables[78] ,
$game_variables[79],$game_variables[80],$game_variables[81],
$game_variables[82],$game_variables[83],$game_variables[84] )
# 清除战斗调用标志
$game_temp.battle_calling = false
# 清除菜单调用标志
$game_temp.menu_calling = false
$game_temp.menu_beep = false
# 生成遇敌计数
$game_player.make_encounter_count
# 记忆地图 BGM 、停止 BGM
$game_temp.map_bgm = $game_system.playing_bgm
$game_system.bgm_stop
# 演奏战斗开始 SE
$game_system.se_play($data_system.battle_start_se)
# 演奏战斗 BGM
$game_system.bgm_play($game_system.battle_bgm)
loop do
self.init_addr
end
end
def judge(actor_Id,actor_Hp,actor_Mp ,actor_Atk,actor_Def,actor_X,actor_Y,actor_Z,actor_Action )
@actor_Id = actor_Id
@actor_Hp = actor_Hp
@actor_Mp = actor_Mp
@actor_Atk = actor_Atk
@actor_Def = actor_Def
@actor_X = actor_X
@actor_Y = actor_Y
@actor_Z = actor_Z
@actor_Action = actor_Action
#p "角色ID:#{@actor_Id}"
#p "角色HP:#{@actor_Hp}"
#p "角色SP:#{@actor_Mp}"
#p "角色攻击力:#{@actor_Atk}"
#p "角色防御力:#{@actor_Def}"
#p "角色X坐标:#{@actor_X}"
#p "角色Y坐标:#{@actor_Y}"
#p "角色Z坐标:#{@actor_Z}"
#p "角色动作:#{@actor_Action}"
end
def init_addr
if( $game_variables[81] < 0)
$game_variables[81] = 0
end
if($game_variables[81] > 19)
$game_variables[81] = 19
end
@init_X = $game_variables[81]
@init_Y = $game_variables[82]
@init_Z = $game_variables[83]
devil = Sprite.new
devil.x = @init_X *32
devil.y = @init_Y *32 - 80
devil.bitmap = Bitmap.new("Graphics/Pictures/按下右")
end
end
复制代码
如果我不在main循环 使用并行事件调用的话就变成这样了....
而且不用我写代码删除 图片就自己消失了--
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
缺牙de兔子
时间:
2007-12-29 04:50
标题:
请教个Bitmap的问题
以下引用
缺牙de兔子于2007-12-28 18:00:45
的发言:
没完了--刷新失败
[本贴由作者于 2007-12-28 19:41:53 最后编辑]
#######################################################################################################
#
#######################################################################################################
class Zandou_My_Battle
def main
judge($game_variables[76],$game_variables[77],$game_variables[78] ,
$game_variables[79],$game_variables[80],$game_variables[81],
$game_variables[82],$game_variables[83],$game_variables[84] )
# 清除战斗调用标志
$game_temp.battle_calling = false
# 清除菜单调用标志
$game_temp.menu_calling = false
$game_temp.menu_beep = false
# 生成遇敌计数
$game_player.make_encounter_count
# 记忆地图 BGM 、停止 BGM
$game_temp.map_bgm = $game_system.playing_bgm
$game_system.bgm_stop
# 演奏战斗开始 SE
$game_system.se_play($data_system.battle_start_se)
# 演奏战斗 BGM
$game_system.bgm_play($game_system.battle_bgm)
loop do
self.init_addr
end
end
def judge(actor_Id,actor_Hp,actor_Mp ,actor_Atk,actor_Def,actor_X,actor_Y,actor_Z,actor_Action )
@actor_Id = actor_Id
@actor_Hp = actor_Hp
@actor_Mp = actor_Mp
@actor_Atk = actor_Atk
@actor_Def = actor_Def
@actor_X = actor_X
@actor_Y = actor_Y
@actor_Z = actor_Z
@actor_Action = actor_Action
#p "角色ID:#{@actor_Id}"
#p "角色HP:#{@actor_Hp}"
#p "角色SP:#{@actor_Mp}"
#p "角色攻击力:#{@actor_Atk}"
#p "角色防御力:#{@actor_Def}"
#p "角色X坐标:#{@actor_X}"
#p "角色Y坐标:#{@actor_Y}"
#p "角色Z坐标:#{@actor_Z}"
#p "角色动作:#{@actor_Action}"
end
def init_addr
if( $game_variables[81] < 0)
$game_variables[81] = 0
end
if($game_variables[81] > 19)
$game_variables[81] = 19
end
@init_X = $game_variables[81]
@init_Y = $game_variables[82]
@init_Z = $game_variables[83]
devil = Sprite.new
devil.x = @init_X *32
devil.y = @init_Y *32 - 80
devil.bitmap = Bitmap.new("Graphics/Pictures/按下右")
end
end
复制代码
如果我不在main循环 使用并行事件调用的话就变成这样了....
而且不用我写代码删除 图片就自己消失了--
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
缺牙de兔子
时间:
2007-12-29 05:24
图片自动消失 问题出在哪呢?
作者:
美兽
时间:
2007-12-29 17:43
因为你存入的是局部变量,方法结束自然会被释放,把变量改实例或全局变量应该就可以了。
作者:
缺牙de兔子
时间:
2007-12-29 19:05
那全局变量怎么标识?
作者:
tiwzyong
时间:
2007-12-29 20:21
提示:
作者被禁止或删除 内容自动屏蔽
作者:
缺牙de兔子
时间:
2007-12-29 21:13
还是不行......用全局还是会消失 --
我是在事件并行处理 做的
作者:
link006007
时间:
2007-12-29 23:24
devil 是局部的, 函数 init_addr 每次被调用完, 它都随着栈一起释放 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1