BMVC for RGSS 1.00

2014 年 2 月 4 日

1. BMVC是什么?

BMVC是RGSS中实现多个窗口或者精灵,或者他们的混合架构的一个脚本,可以用来简化代码。
相对于单个的窗体Window/精灵Sprite而言,BMVC可以同时有多个显示对象被控制。比如应用物品时,物品描述窗口,物品选择窗口和对象选择窗口是三个窗口,但有关联。可以用BMVC实现。
而相对于场景Scene而言,BMVC比Scene要轻量,也可以嵌入Scene中。
所以也可以放在事件中,比如一个物品选择窗口,没必要创建一个类。

BMVC是RGSS系列上对MVC模式(http://zh.wikipedia.org/wiki/MVC)的一个特化实现,因为RGSS默认脚本本身已经实现一系列与模型有关的东西比如$game_…,这里只需要和他们建立各种关系即可,这种关系模型在本脚本叫做BindingModel,故本脚本命名为BindingModel-View-Controller

2. 如何使用?

有两个重要的方法,一个是K,一个是B,K创建视图和有关的控制器,B创建和模型的绑定。

写在K里面的self.xxx,如果他是一个window或者sprite的话,会自动update和dispose

 

第一个例子,显示一个有Hello world的窗口,按回车(Input::C)时退出,因为不含任何可变的数据,所以没有用到B。

 

下面这个例子的窗口将要显示一个全局变量$a,并且当你按下回车键时,$a会加上1,并且显示也对应变化,注意变化的部分用B{}括起来。相对于上面那个例子,实际上就是把不变的”Hello world”换成了变化的$a.to_s,这里我们用B{$a.to_s}括起来。(同时加上了contents.clear清除内容这样的行为,不然前后写的文字会重叠在一起)

 

因为按下回车键时,$a加上了1,所以$a.to_s会变化,B{$a.to_s}会把这个变化反馈给外面那个B{},

因此重新进行了绘制.

 

实现:

 

#未分类
1 Comment
四格
2014 年 3 月 7 日 @ 上午 12:59

没看懂咋用呢咋办?==

回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*