Project1
标题:
300分,修改地图与战斗显示的窗口问题,带工程.
[打印本页]
作者:
hgfor
时间:
2008-11-16 05:01
标题:
300分,修改地图与战斗显示的窗口问题,带工程.
1. 在地图中显示坐标框,宠物框,人物框,状态框(这个工程里实现了,但是不怎么好,状态框的图会在按进入游戏时先出现,我想改成进入地图后再出现。) 坐标框在左边,宠物框和人物框在右边,状态框在下边。
2.在战斗中显示宠物框(左边) 人物框(右边) 状态框在下边。
里面的宠物框就先用人物框的图代替,图片在里面都有。
希望实现如下图所示:
请高手帮我看看,怎么弄? 谢谢了! [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
hgfor
时间:
2008-11-16 16:37
难道这是传说中很难解决的问题 {/dk} , 我的可以在地图上显示,就是不能在战斗中也显示,弄了很久没折了,等高手帮忙。
作者:
天圣的马甲
时间:
2008-11-16 17:03
- =首先,显示地图坐标和战斗场景不是一个Scene,是没法调用当前角色坐标的。
所以左上角窗口不能弄,一出局。
显示战斗时的人物头像和血条论坛都有类似的,只不过是Window_Battlestatus的坐标问题,很简单,也是只给思路。二出局。
第三,如果下排那堆东西都是窗口的话,那就类似command窗口一样在Scene_Battle生成一个,然后决定先后选择顺序就可以了。
三出局攻守交换,LX愿意做工程的请了{/hx}
作者:
hgfor
时间:
2008-11-16 17:28
1. 坐标框可以去除了,把宠物框放坐标框这个位置,然后右边就是显示人物框。
2. 下面那个状态栏,我就想显示一张图。
3. 而且这些要在地图和战斗时都显示。
这样的难度有多大? 可以追加分啊。
作者:
玄月
时间:
2008-11-16 20:29
直接在地图上战斗还好弄点…………
那啥,对新人来说是辛苦了点…………
作者:
天圣的马甲
时间:
2008-11-16 20:40
加多少分都没用,因为你并没给你自己的脚本和工程= =
宠物框?那是啥,默认工程没这东西。
显示一张图?战斗里可以显示图片。然后,我说过移动窗口就是修改Window_Battlestatus的坐标。
作者:
redant
时间:
2008-11-17 00:10
三出局攻守交换
A3热萌~~
请LZ 出示简洁的工程 以便有人接单修改
不愿意的话起码 出脚本 以便修改
作者:
hgfor
时间:
2008-11-17 00:36
工程已经上传了,请高手看看。 {/qiang}
作者:
hgfor
时间:
2008-11-17 16:38
等待高手接单
作者:
hgfor
时间:
2008-11-17 23:41
向上华丽的一顶,继续等待高人现身! {/cy}
作者:
hgfor
时间:
2008-11-18 17:16
一天就这样过去了,再次华丽向上一顶,再等两天看看.
作者:
redant
时间:
2008-11-18 21:36
#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
# 显示战斗画面同伴状态的窗口。
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@level_up_flags = [false, false, false, false]
#........................................................................
self.opacity = 0
@sta_back = []
@sta_output = []
# @cp_output = []
@hp_bitmap = RPG::Cache.picture("HP_Meter.png")
@mp_bitmap = RPG::Cache.picture("SP_Meter.png")
# @bitmap3 = RPG::Cache.picture("../system/battle/hmcp/底.png")
# @cp_bitmap = RPG::Cache.picture("../system/battle/hmcp/cp_bar.png")
# @cp_output = []
# @cp_back_bar = Sprite.new
#@cp_back_bar.bitmap = Bitmap.new("Graphics/system/battle/hmcp/cp_back_bar")
## @cp_back_bar.x = 450
# @cp_back_bar.y = 25
#@cp_back_bar.z = self.z + 1
# @actor_cp_sprite = []
# @actor_cp_sprite_back = []
@xy_window = Window_xy.new
@xy_window.x = -16
@xy_window.y = -16
@xy_window.opacity = 0
for actor_index in 1..$game_party.actors.size
# @cp_output[actor_index] = Sprite.new
# @cp_output[actor_index].bitmap = Bitmap.new(133, 78)
# @cp_output[actor_index].x = 100 + (actor_index - 1) * 133
# @cp_output[actor_index].y = 480 - 78 - 10
# @cp_output[actor_index].z = self.z + 2
# @cp_output[actor_index].bitmap.clear
@sta_back[actor_index] = Sprite.new
@sta_back[actor_index].bitmap = Bitmap.new("Graphics/Pictures/" + $game_party.actors[actor_index - 1].name + "战斗.png")
@sta_back[actor_index].x = 510-(actor_index - 1) * 130
@sta_back[actor_index].y = 0
@sta_back[actor_index].z = self.z + 1
@sta_output[actor_index] = Sprite.new
@sta_output[actor_index].bitmap = Bitmap.new(180, 120)
@sta_output[actor_index].x = 476-(actor_index - 1) * 130
@sta_output[actor_index].y = -29#(actor_index - 1) * 80 - 29
@sta_output[actor_index].z = self.z + 200
@sta_output[actor_index].bitmap.clear
@sta_output[actor_index].bitmap.font.size = 10
@sta_output[actor_index].bitmap.font.name = "黑体"
hp_width = $game_party.actors[actor_index - 1].hp * @hp_bitmap.width/$game_party.actors[actor_index - 1].maxhp
hp_rect = Rect.new(0, 0, hp_width, 12)
mp_width = $game_party.actors[actor_index - 1].sp * @mp_bitmap.width/$game_party.actors[actor_index - 1].maxsp
mp_rect = Rect.new(0, 0, mp_width, 12)
# @src_rect3 = Rect.new(0,0,@bitmap3.width, @bitmap3.height)
# self.contents.blt(10,220, @bitmap3, @src_rect3)
# @sta_output[actor_index].bitmap.blt(66, 44, @hp_bitmap, hp_rect)
# @sta_output[actor_index].bitmap.blt(66, 64, @mp_bitmap, mp_rect)
# @sta_output[actor_index].bitmap.blt(66, 54, @bitmap3, @src_rect3)
#@sta_output[actor_index].bitmap.font.color.set(255, 0, 0)
# @sta_output[actor_index].bitmap.draw_text(80, 31, 77, 11,$game_party.actors[actor_index - 1].hp.to_s + "/" + $game_party.actors[actor_index - 1].maxhp.to_s)
# @sta_output[actor_index].bitmap.font.color.set(0, 0, 255)
#@sta_output[actor_index].bitmap.draw_text(80, 51, 77, 11,$game_party.actors[actor_index - 1].sp.to_s + "/" + $game_party.actors[actor_index - 1].maxsp.to_s)
end
#........................................................................
refresh
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
super
@hp_bitmap.bitmap.dispose
@hp_bitmap.dispose
@mp_bitmap.bitmap.dispose
@mp_bitmap.dispose
#@cp_bitmap.bitmap.dispose
# @cp_bitmap.dispose
for actor_index in 1..$game_party.actors.size
@sta_back[actor_index].bitmap.dispose
@sta_back[actor_index].dispose
@sta_output[actor_index].bitmap.dispose
@sta_output[actor_index].dispose
# @cp_output[actor_index].bitmap.dispose
# @cp_output[actor_index].dispose
end
end
#--------------------------------------------------------------------------
# ● 设置升级标志
# actor_index : 角色索引
#--------------------------------------------------------------------------
def level_up(actor_index)
@level_up_flags[actor_index] = true
end
#......................................................................
#--------------------------------------------------------------------------
# ● 设置正在攻击标志
# actor_index : 角色索引
#--------------------------------------------------------------------------
#def in_atk(actor_index)
#@sta_back[actor_index + 1].bitmap = Bitmap.new("Graphics/System/Battle/sta_back/" + $game_party.actors[actor_index].name + "战斗1.png")
#end
#--------------------------------------------------------------------------
# ● 设置不在攻击标志
# actor_index : 角色索引
#--------------------------------------------------------------------------
#def out_atk(actor_index)
# @sta_back[actor_index + 1].bitmap = Bitmap.new("Graphics/System/Battle/sta_back/" + $game_party.actors[actor_index].name + "战斗.png")
#end
#......................................................................
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
#......................................................................
actor_x = 480#i * 160 + 145
actor_y = 0#i * 80 + 220
@sta_output[i + 1].bitmap.clear
hp_width = $game_party.actors[i].hp * @hp_bitmap.width/$game_party.actors[i].maxhp
hp_rect = Rect.new(0, 0, hp_width, 12)
mp_width = $game_party.actors[i].sp * @mp_bitmap.width/$game_party.actors[i].maxsp
mp_rect = Rect.new(0, 0, mp_width, 12)
@sta_output[i + 1].bitmap.blt(80, 44, @hp_bitmap, hp_rect)
#间距
@sta_output[i + 1].bitmap.blt(80, 56, @mp_bitmap, mp_rect)
# @sta_output[i + 1].bitmap.font.color.set(255, 0, 0)
#@sta_output[i + 1].bitmap.draw_text(80, 31, 77, 11,$game_party.actors[i].hp.to_s + "/" + $game_party.actors[i].maxhp.to_s)
#@sta_output[i + 1].bitmap.font.color.set(0, 0, 255)
#@sta_output[i + 1].bitmap.draw_text(80, 51, 77, 11,$game_party.actors[i].sp.to_s + "/" + $game_party.actors[i].maxsp.to_s)
#......................................................................
# if @level_up_flags[i]
# self.contents.font.color = normal_color
# self.contents.draw_text(0, 0, 640 , 480, "LEVEL UP!")
#else
# draw_actor_state(actor, 120, actor_y)
# end
end
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
# 主界面的不透明度下降
if $game_temp.battle_main_phase
self.contents_opacity = 255 #if self.contents_opacity > 1
else
self.contents_opacity = 255 #if self.contents_opacity < 255
end
end
end
复制代码
HP_Tx.png和人头 PS合一起
效果图如下
粗略一改 得出 不代表不会出现冲突和错误=。=
命名规则请仔细查看 脚本中 战斗 字样 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
hgfor
时间:
2008-11-18 23:21
刚才测试了一下脚步,效果正是我想要的,还可以在地图上在显示一个宠物的框吗?
HP_Tx.png和人头 PS合一起
这个可能有点麻烦,我就想让宠物的头像就显示那一个默认的,要是这样,如果有20个宠物就得重复20次那个文件(名字是不同的),能不能再帮我修改一下,我自己改了老出错,对脚本也不太会.
谢谢.
作者:
redant
时间:
2008-11-18 23:56
刚关了 =。=
一会儿 要去泡小MM {/se}
为什么和在一起呢?因为我不懂宠物脚本 也没想加宠物 所以和住了
20个宠物也不多嘛 既然能给宠物加头像 就不要吝啬=。=
如果单纯仿制大话 就你说的那样做吧= =|
作者:
hgfor
时间:
2008-11-19 02:06
就是想仿制大话的,嘿嘿, 工程得一步一步慢慢完善, 啥时我也能做的跟rpg1882的差不多啊,现在还差在地图上显示一个宠物的窗口(其实也就是两个人物的窗口)
大概实现了这些功能:
战斗时显示了怪物和角色名
全动画战斗系统
八方向待机系统
仿大话的多秒系统
真八方向行走
图片战斗菜单
恩,先把基本的系统弄好先,到时再制作任务等也更快!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1