Project1
标题:
地图移动的问题
[打印本页]
作者:
华华
时间:
2007-7-30 19:34
标题:
地图移动的问题
做了个简单的在地图上显示状态的窗口。可是发觉,当人物快走到地图边缘,地图不会再移动。
于是,主角便走到新窗口下面去了。
这个该怎么解决呢?
(本来想找那个 小地图 脚本来看下,结果找了很久没找到。)
class ShowMoney < Window_Base
#--------------------------------------------------------------------------
# ● 类常量定义
#--------------------------------------------------------------------------
# 窗口位置设定
GOLD_X =470 # 矩形左上顶点X坐标
GOLD_Y = 2 # 矩形左上顶点Y坐标
GOLD_W = 175 # 矩形宽
GOLD_H = 145 # 矩形高
#--------------------------------------------------------------------------
# ● 初始化状态
#--------------------------------------------------------------------------
def initialize
super(GOLD_X , GOLD_Y, GOLD_W, GOLD_H)
@actor = $game_party.actors[0]
# 初始化窗口透明度
self.back_opacity=0
self.opacity=0
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size=18
self.contents.font.color=system_color
@nRunTime=0
#-------------------显示图片------------------------
backPicture=Bitmap.new("Graphics/Heads/通用_yuhuan_1_0.png")
cw=backPicture.width
ch=backPicture.height
back_picture=Rect.new(0,0,cw,ch)
self.contents.blt(20,0,backPicture,back_picture)
end
def draw_hp
self.contents.draw_text(20, 90 , 100, 32, "HP:" + @actor.hp.to_s + "/" + @actor.maxhp.to_s , 1)
end
#--------------------------引用自 66《黑暗圣剑传说》--------------
def draw_actor_hp( x, y, width = 144) #这个用于战斗的描绘
hp_length = 85*@actor.hp / @actor.maxhp #HP槽的长度
hp_lv1_bitmap = Bitmap.new("Graphics/Pictures/bars/HP2_lv1_long.png")
cw_lv1 = hp_lv1_bitmap.width
ch_lv1 = hp_lv1_bitmap.height
src_rect_lv1 = Rect.new(0, 0, cw_lv1, ch_lv1)
self.contents.blt(x , y , hp_lv1_bitmap, src_rect_lv1)
#————绘制血————
hp_lv2_bitmap = Bitmap.new("Graphics/Pictures/bars/HP2_lv2_long(blood).png")
ch_lv2 = hp_lv2_bitmap.height
ch_lv2a=hp_lv2_bitmap.width
src_rect_lv2 = Rect.new(0, 0, 26+hp_length, ch_lv2)
self.contents.blt(x , y-1 , hp_lv2_bitmap, src_rect_lv2)
end
end
#---------------------------------------------------------------------
#------------------------------------------------------------------------------
class Scene_Map
alias smn_mainl main
def main
@a_wwPP = ShowMoney.new
smn_mainl
@a_wwPP.dispose
end
alias smn_updatel update
def update
@a_wwPP.draw_actor_hp(5,90)
@a_wwPP.draw_hp
smn_updatel
end
end
复制代码
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
华华
时间:
2007-7-30 19:34
标题:
地图移动的问题
做了个简单的在地图上显示状态的窗口。可是发觉,当人物快走到地图边缘,地图不会再移动。
于是,主角便走到新窗口下面去了。
这个该怎么解决呢?
(本来想找那个 小地图 脚本来看下,结果找了很久没找到。)
class ShowMoney < Window_Base
#--------------------------------------------------------------------------
# ● 类常量定义
#--------------------------------------------------------------------------
# 窗口位置设定
GOLD_X =470 # 矩形左上顶点X坐标
GOLD_Y = 2 # 矩形左上顶点Y坐标
GOLD_W = 175 # 矩形宽
GOLD_H = 145 # 矩形高
#--------------------------------------------------------------------------
# ● 初始化状态
#--------------------------------------------------------------------------
def initialize
super(GOLD_X , GOLD_Y, GOLD_W, GOLD_H)
@actor = $game_party.actors[0]
# 初始化窗口透明度
self.back_opacity=0
self.opacity=0
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size=18
self.contents.font.color=system_color
@nRunTime=0
#-------------------显示图片------------------------
backPicture=Bitmap.new("Graphics/Heads/通用_yuhuan_1_0.png")
cw=backPicture.width
ch=backPicture.height
back_picture=Rect.new(0,0,cw,ch)
self.contents.blt(20,0,backPicture,back_picture)
end
def draw_hp
self.contents.draw_text(20, 90 , 100, 32, "HP:" + @actor.hp.to_s + "/" + @actor.maxhp.to_s , 1)
end
#--------------------------引用自 66《黑暗圣剑传说》--------------
def draw_actor_hp( x, y, width = 144) #这个用于战斗的描绘
hp_length = 85*@actor.hp / @actor.maxhp #HP槽的长度
hp_lv1_bitmap = Bitmap.new("Graphics/Pictures/bars/HP2_lv1_long.png")
cw_lv1 = hp_lv1_bitmap.width
ch_lv1 = hp_lv1_bitmap.height
src_rect_lv1 = Rect.new(0, 0, cw_lv1, ch_lv1)
self.contents.blt(x , y , hp_lv1_bitmap, src_rect_lv1)
#————绘制血————
hp_lv2_bitmap = Bitmap.new("Graphics/Pictures/bars/HP2_lv2_long(blood).png")
ch_lv2 = hp_lv2_bitmap.height
ch_lv2a=hp_lv2_bitmap.width
src_rect_lv2 = Rect.new(0, 0, 26+hp_length, ch_lv2)
self.contents.blt(x , y-1 , hp_lv2_bitmap, src_rect_lv2)
end
end
#---------------------------------------------------------------------
#------------------------------------------------------------------------------
class Scene_Map
alias smn_mainl main
def main
@a_wwPP = ShowMoney.new
smn_mainl
@a_wwPP.dispose
end
alias smn_updatel update
def update
@a_wwPP.draw_actor_hp(5,90)
@a_wwPP.draw_hp
smn_updatel
end
end
复制代码
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
RPG初学者
时间:
2007-7-30 19:37
提示:
作者被禁止或删除 内容自动屏蔽
作者:
华华
时间:
2007-7-30 19:39
我是菜鸟!
不过,这个问题我好像有点会的样子!
就是设置变量度
怎么弄?- -+
作者:
华华
时间:
2007-7-31 03:28
36h 内不能自顶贴
似乎除了老实的偶米多少人遵守啊。。。所以。。。。{/hx}
作者:
K’
时间:
2007-7-31 03:49
那是地图的宽度不够吧。。。刚才试了下 把地图改成 40*15没问题。
PS 遵守规矩总不会错 如果怕帖子被冷落可以短信告诉版主。{/wx}
作者:
魔春重楼
时间:
2007-7-31 04:58
提示:
作者被禁止或删除 内容自动屏蔽
作者:
华华
时间:
2007-7-31 05:08
嗯,可是,地图再宽也有走到头的时候啊。
怎么说呢?当角色还没走到地图边缘时,角色在窗口中的坐标位置并没有改变,只是地图在退后,就走不到状态窗口下面去。但是,但角色走到地图边缘附近时,已经没有地图可以移动了,角色就真正地改变了在窗口中的坐标位置。这样的话,角色就可以走到那个用来显示状态的窗口的下面去了。(我是这么理解的。。。。{/wx})
(好象还是没表达清楚{/pz})
这个怎么解决呢?想了好久都不明白呢。(觉得好象没办法解决一样)是不是只能在地图的右上角画一个大房子什么的,这样角色就走不到那去了。。。
作者:
K’
时间:
2007-7-31 05:13
你的意思是不让角色走到状态图的底下?
好像没有游戏是这样的吧。。。
最多 把图片的透明度增加一些 不会挡住角色就好。 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
华华
时间:
2007-7-31 05:21
这样啊
记得以前玩游戏时没有走到状态窗口下面去过。
可能他们就是用什么东西把角色挡住了,让角色走不到地图最边缘吧
嘿嘿,谢谢啦~~~~~~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1