Project1

标题: RMXP-菜单文字 无法靠近边框? [打印本页]

作者: lucifer4223    时间: 2013-9-25 18:48
标题: RMXP-菜单文字 无法靠近边框?
本帖最后由 lucifer4223 于 2013-9-27 16:21 编辑

不多说,直接上图



我是自学 RM的新人,并且没有学过编程,没基础。
到处找能理解的教程。通过修改 super() 里面 4个数值,想改变最基础的 UI版面
可是遇到了问题,不管文本的块实际是多大,文字总不能紧挨着 window 的边缘,会被裁掉,好像系统设置有安全框一样感觉。
第三张图是我自己 PS出来的,想要实现的效果,看下面的  0Drm



到处找教程都找不到解释这个的。而且主站很多旧帖子的链接都失效了。。。
是不是要在 window Base 里进行定义??  求大神指点,谢谢!

作者: 恐惧剑刃    时间: 2013-9-25 21:28
本帖最后由 恋′挂机 于 2013-9-25 22:05 编辑
  1. #自身内容描绘在width-32,height-32的矩形内无法让文字挨着窗体即便不减去32也不可以
  2. self.contents = Bitmap.new(width - 32, height - 32)
  3. #修改了窗口的宽度高度,要相应的修改所描绘文字的Y坐标,否则就会出现你那张图中的时间框情况
  4. self.contents.draw_text(4, 0, 120, 32, "游戏时间")
  5. #后边跟的参数是X坐标Y坐标宽度高度内容对齐方式
复制代码

作者: lucifer4223    时间: 2013-9-25 22:09
不知是我没听懂楼上的意思,还是楼上没给出实际答案。


作者: lucifer4223    时间: 2013-9-25 22:12
本帖最后由 lucifer4223 于 2013-9-25 22:13 编辑
恋′挂机 发表于 2013-9-25 21:28


我修改了文字显示块的高度,就是(4,0,120,32),(X,Y,长,宽)无论怎么改,
边上总有固定大小的一个框状区域是不能显示出文字内容的。
请教明说改什么地方哪个数字。
作者: 恐惧剑刃    时间: 2013-9-25 22:15
如果用默认字体也就是22
你必须保证你的窗口高度至少在64以上
作者: lucifer4223    时间: 2013-9-25 22:28

没有用。



12号字,按照像素来说,完全小于高 52,
所以感觉问题不是出在  文字与块之间的关系

而是出在   块与 window之间的关系上。
作者: lucifer4223    时间: 2013-9-25 22:33
恋′挂机 发表于 2013-9-25 22:15
如果用默认字体也就是22
你必须保证你的窗口高度至少在64以上

而且最关键,不管我怎么修改这里,
留边的宽度完全是一样的,说明某个脚本里,更优先地定义了
文字显示区域,于 window 边框的位置关系,总有一个安全距离

我就想知道如何实现我那 1楼第三张图 底下字的效果。
作者: a774741359    时间: 2013-9-26 00:02
二楼正解
窗口的内容区为窗口减去16单位的边缘。

作者: a774741359    时间: 2013-9-26 00:04
lucifer4223 发表于 2013-9-25 22:33
而且最关键,不管我怎么修改这里,
留边的宽度完全是一样的,说明某个脚本里,更优先地定义了
文字显示区 ...

Window里定义的,不要想去修改啦。
那个已经被RM封装了。
作者: 芯☆淡茹水    时间: 2013-9-26 07:32
self.contents = Bitmap.new(width, height)



作者: lucifer4223    时间: 2013-9-26 11:41
本帖最后由 lucifer4223 于 2013-9-26 12:05 编辑

楼上的方法没有用, 9楼是正解。
我现在唯一的解决方法,就是用图片数字,而非文本数字。
图片可以放在任何位置,甚至超过 640 480 的位置。

正好请教一下,我是用这种方法来将图标放入菜单中,

    sprite = Sprite.new
    sprite.bitmap = RPG::Cache.icon("gold.png")
    sprite.x = 76
    sprite.y = 442
    sprite.z = 100

可不知道应该在哪个脚本的哪里插入释放

sprite.bitmap.dispose

导致菜单关闭了,可图标还是在屏幕上。
如果把这句直接放在当前脚本,那菜单一打开,图标就被释放了,没了。
作者: lucifer4223    时间: 2013-9-26 18:02
放在那里不行,他会报错说,没有定义过 bitmap 的方法。我放在了Scene_Menu 和其他窗口一起释放的位置

我是在 window_gold 里放了一个金币的图标,当呼叫主菜单的时候,这个金币正常出现,可是切换到其他菜单,或者到地图的时候,
这个金币的图标不能被删除掉。照理来说,不需要专门去设置它的释放,因为整个主菜单包括金钱窗口已经被释放了。
并且这个 window_gold 里没有 loop do 的

不过我发现一个奇怪的现象,过了几秒他会自己消失。
我肯定是使用的显示图标的方法不恰当,望指点。
作者: lucifer4223    时间: 2013-9-27 16:20
的确是方法不对,使用 sprite 这个类来承载 gold 这个位图的话,并不是和当前的窗口完全相关联的,
后来我换了
bitmap = RPG::Cache.icon("gold.png")
self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 24, 24))
这种方法就完全 OK了。 可是相应地,小金币的图标显示也受到了 window_gold 的约束,
产生了本帖一开始说的,无法靠近边框(会被裁切掉)的问题。

没基础真是不方便啊,只能靠修改脚本看效果,反复摸索了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1