Project1
标题: 关于装备图标坐标以及光标问题 [打印本页]
作者: 【蛋塔】 时间: 2016-10-3 07:02
标题: 关于装备图标坐标以及光标问题
本帖最后由 【蛋塔】 于 2016-10-3 07:09 编辑
我将Window_Base 312行改成:
def draw_icon_name(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
dest = Rect.new(x, y, 60, 117)
self.contents.stretch_blt(dest, bitmap, Rect.new(0,0,60,117))
self.contents.font.color = normal_color
#self.contents.draw_text(x + 28, y, 212, 32, item.name)
end
end
def draw_icon_name(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
dest = Rect.new(x, y, 60, 117)
self.contents.stretch_blt(dest, bitmap, Rect.new(0,0,60,117))
self.contents.font.color = normal_color
#self.contents.draw_text(x + 28, y, 212, 32, item.name)
end
end
再把Window_EquipRight改成:
装备图标位置基本解决了,但是又遇到一个新的问题,那就是 光标的X Y值怎么改?
尝试了许多次改法还是不行,所以只有发帖求助了...望前辈们帮我看下 万分感激
能否让光标根据装备图标的坐标而改变?要改成武器光标在x+100,y+100 防具光标在x+200,y+200 这样应该怎么去修改?
对于光标不在行,只知道这段代码似乎能够影响光标的排版,但要单独去改变身上每个装备部位的光标位置- -还真不懂....
x = @index % 3 * 54
y = @index /3 * 54- self.oy
# 更新光标矩形
self.cursor_rect.set(x+3, y+3, 68, 125)
x = @index % 3 * 54
y = @index /3 * 54- self.oy
# 更新光标矩形
self.cursor_rect.set(x+3, y+3, 68, 125)
作者: 夜狠简单 时间: 2016-10-3 09:00
本帖最后由 夜狠简单 于 2016-10-3 18:04 编辑
这种吗?
作者: 【蛋塔】 时间: 2016-10-3 13:57
可能我表达的不好,我想请教的是“光标的XY坐标”怎么改?如上图这种效果,因为装备的位置不是排成一排
作者: 夜狠简单 时间: 2016-10-3 19:46
本帖最后由 夜狠简单 于 2016-10-3 19:49 编辑
class Window_Selectable1<Window_Selectable
#--------------------------------------------------------------------------
# ● 更新光标矩形
#--------------------------------------------------------------------------
def update_cursor_rect
super()
# 计算光标的x,y,宽度
x,y,cursor_width=[[85,0,90],[85,32,90],[0,32*2,90],[185,32*2,90],
[85,32*3,125]][@index]
# 更新光标矩形
self.cursor_rect.set(x, y, cursor_width, 32)
end
end
#==============================================================================
# ■ Window_EquipRight
#------------------------------------------------------------------------------
# 装备画面、显示角色现在装备的物品的窗口。
#==============================================================================
class Window_EquipRight< Window_Selectable1
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
#--------------------------------------------------------------------------
def initialize(actor)
super(272, 64, 368, 192)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● 获取物品
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
@data.push($data_weapons[@actor.weapon_id])
@data.push($data_armors[@actor.armor1_id])
@data.push($data_armors[@actor.armor2_id])
@data.push($data_armors[@actor.armor3_id])
@data.push($data_armors[@actor.armor4_id])
@item_max = @data.size
self.contents.font.color = system_color
draw_item_name(@data[0], 92, 32 * 0)
draw_item_name(@data[1], 92, 32 * 1)
draw_item_name(@data[2], 4, 32 * 2)
draw_item_name(@data[3], 192, 32 * 2)
draw_item_name(@data[4], 92, 32 * 3)
end
#--------------------------------------------------------------------------
# ● 刷新帮助文本
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
class Window_Selectable1<Window_Selectable
#--------------------------------------------------------------------------
# ● 更新光标矩形
#--------------------------------------------------------------------------
def update_cursor_rect
super()
# 计算光标的x,y,宽度
x,y,cursor_width=[[85,0,90],[85,32,90],[0,32*2,90],[185,32*2,90],
[85,32*3,125]][@index]
# 更新光标矩形
self.cursor_rect.set(x, y, cursor_width, 32)
end
end
#==============================================================================
# ■ Window_EquipRight
#------------------------------------------------------------------------------
# 装备画面、显示角色现在装备的物品的窗口。
#==============================================================================
class Window_EquipRight< Window_Selectable1
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
#--------------------------------------------------------------------------
def initialize(actor)
super(272, 64, 368, 192)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● 获取物品
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
@data.push($data_weapons[@actor.weapon_id])
@data.push($data_armors[@actor.armor1_id])
@data.push($data_armors[@actor.armor2_id])
@data.push($data_armors[@actor.armor3_id])
@data.push($data_armors[@actor.armor4_id])
@item_max = @data.size
self.contents.font.color = system_color
draw_item_name(@data[0], 92, 32 * 0)
draw_item_name(@data[1], 92, 32 * 1)
draw_item_name(@data[2], 4, 32 * 2)
draw_item_name(@data[3], 192, 32 * 2)
draw_item_name(@data[4], 92, 32 * 3)
end
#--------------------------------------------------------------------------
# ● 刷新帮助文本
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |