你这样做是可以的,不过如果加opacity参数的话,游戏中所有窗口的透明度都变了,应当小心使用(除非你确定你要这么做)。如果是单独改一个类的窗口那么请在该类initialize方法里面写上self.opacity=XX就好。 另外,一个窗口可以分为“框架”和“内容”,你可以理解为窗口的bitmap是表示窗口内容的,它其实是窗口的一部分。self.contents = Bitmap.new(width - 32, height - 32)的含义是创建一个(width - 32)*(height - 32)的Bitmap,其中width表示窗口总体的宽度,height表示窗口总体的高度。这句话的含义就是创建的bitmap的大小的宽和高要比原窗口的宽高各小32像素。 |
原来如此……self.opacity……我差点点就蒙对了……不过是用的self.contents.opacity……,由于最后又个透明度调试意外的做成了进入战斗后,数值渐渐出现的效果……哈哈。 我还在WINDOWS_BASE中给添加了个OPACITY的参数……然后每个报错的地方都加了一个数字进去……发现没有效果…… 其实现在我觉得自己是英文太差,看见这些单词反映在脑海的都是字母而不是其含义……继续熟悉之。 最后,多谢你的视频教程及解答! |
第一个问题: 这里是通过楼主所说的“底板”来显示说明文字的,如果没有底板文字无法显示。 不过可以更改底板的透明度,让底板隐藏。楼主说改完透明度还是存在白框,那是因为楼主用错了命令。 使用 RUBY 代码复制
而不是 RUBY 代码复制
后者只改了背景的不透明度,窗体本身的没改。 第二个问题: 原因就是楼上M解释的那样,出现箭头一定是画布内容比窗口的内容多。正常情况下,画布的四个边界和画板的四个边界应该距离16个像素单位的长度,这样才不会出现箭头。 第三个问题: 解释同上,这个地方不是画矩形,而是为窗口生成所谓“画布”,以供你描绘文字。 |
本帖最后由 myownroc 于 2016-1-13 11:43 编辑 状态01和02让我觉得很诡异……为什么状态数值只能显示在蓝色的底板上……如果没有底板就没有文字…… 第一个问题:想成分段底板,或者没有底板?不知如何实现…… 问题二:能否解释下其规则…… 打个比方 黑色的部分是画板(对应蓝色的Window),红色的部分是画布(就是那个self.contents,Bitmap.new则是新建一块画布)。 通常,画布都是比画板要小的(生活经验告诉我们的),就像图中右上角那样。 而图中右下角则是画布比画板大……这样,在Window就会出现箭头,提示窗口之外还有内容。 不过,你不属于上面说的那种情况。 因为你已经创建了一个宽度高度分别为width - 32和height - 32的“画布”(Bitmap)。显然,这画布并没有比“画板”(Window)大。 剩下的一种情况就只能是Bitmap的内容超出了Bitmap的范围。 问题三: 本来想打个比方,让楼主看的更明白一点,现在倒是觉得楼主会被我绕进去,囧。 说实话码代码时我会避免这样的情况,反而这种情况出来却解释不清楚了,囧again。 文科生……没有编程基础…… |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-14 18:41
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.