幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2246|回复: 3

[原创]教程《窗口的解说1》

[复制链接]

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-1-25 15:05:57 | 显示全部楼层 |阅读模式
[s:2]
  看这之前,最好熟悉熟悉脚本语言---看《帮助文件》是个不错的选择(这个不是广告)。
  文章比较详细的说明了固定窗口的设计方式----好象也不是很详细,这要看你的理解能力了。(笑)
  看了这个,基本上可以自己制作窗口了。

补充:多多利用f9的便捷,利用全局变量$game_variables[n]来 调整窗口,制作起来将很方便


《窗口教程1》——了解窗口



窗口,在这里大体上说的是菜单界面,制作并不是复杂。窗口分为两种,一种是可选择的(技能,物品等);另一种是不可选择的(金钱,时间等)。可选择的窗口重载的是 Window_Selectable中的定义,不可选择窗口重载的是Window_Base中的定义。
下面,我向大家介绍不可选择(固定)窗口。请看Window_Base前两段——初始化和释放定义,
    制作一个简单窗口,主要是用初始化和释放,例如:window_gold的制作程序是这样的:
    1、class Window_Gold < Window_Base表示的是;Window_Gold将会引用Window_Base中的定义。
2、初始化:既然已经定义了,那么去看看Window_Base就可以知道super后面的4个参数表示什么意思(窗口的坐标和大小)——编写窗口就是这么两条!如果你不想记忆语法,那么可以直接从window_gold中复制(从开头到super,参数自己去修改)。
3、这个窗口只是一个白框框,里面没有任何东西。继续看Window_Gold中的初始化定义。
      有人问self是什么,它是指“当前执行对象的本身”,在这里表示的是窗口对象的本身(因为引用的是Window_Base中的定义)。那么, self.xxx就是窗口里的东西了。
4、self.contents = Bitmap.new(width - 32, height - 32),表示:在窗口宽度-32,高度-32的位置描绘图形,也就是在这个地方写内容。
5、refresh:刷新——因为金钱是会改变的(如果是不改变的窗口就不用刷新)
end:结束初始化定义。
    6、如何刷新?self.contents.clear:把窗口中的内容清除(就象用橡皮擦一样,把一个写有字的纸擦干净,方便以后继续写)
     cx = contents.text_size($data_system.words.gold).width:并没有什么特别的意义,只是限定了$data_system.words.gold的宽度,仅仅是方便的玩意。也就是说:描绘金钱数量字符串的长度,不能超过表示金钱的符号位置。
    7、 self.contents.font.color = normal_color
        self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
这两句才是刷新的主流。
     self.contents.font.color = normal_color:设置字体的颜色为 normal_color,也可以替换成Color.new(R,G,B,A)
     self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2):draw_text表示在contents窗口中描绘文字。这里,描绘的是金钱的数量$game_party.gold,金钱是用数字表示的,这就要把它to_s变成“字符串”才可以描绘。前面的参数,是限制文字出现的地点和大小,最后的“2”是对齐方式(表示的是右对齐)。有关draw_text去看帮助文件吧。
最后,是描绘$data_system.words.gold(金钱符号)的位置,因为本身就是一个“字符串”,所以不需要to_s
好了,今天的课就讲到这。


ps:说的制作窗口,是说程序中读取了一个窗口,但是这个窗口我们是看不见了,要想看见就要释放。
方法:在Scene_Menu中,添加生成窗口对象(格式自己去套),然后在下面的释放中也添加一个(也是自己套格式)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近,迷上八云紫大婶了
回复

使用道具 举报

4

主题

81

帖子

262

积分

③业余

偶素新手,请多指教

积分
262
QQ
发表于 2006-1-25 15:13:35 | 显示全部楼层
…………
这东西发这里来干什么???
这里是用来提问讨论的…………
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-1-25 16:21:18 | 显示全部楼层
这里是用来发教程的没错... [s:5] 提问讨论在楼上...
只是楼主为什么不贴了出来?
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
 楼主| 发表于 2006-1-25 16:35:05 | 显示全部楼层
下面是引用CountD于2006-01-25 16:21发表的:
这里是用来发教程的没错... [s:5] 提问讨论在楼上...
只是楼主为什么不贴了出来?

只是我排好了版----能帮我改改吗?
[s:1]
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-8 04:37 , Processed in 0.013227 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表