设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1797|回复: 7
打印 上一主题 下一主题

[已经解决] 请教个module和class问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
跳转到指定楼层
1
发表于 2013-10-16 19:01:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
module和class的区别在哪?求指点、、、、{:2_263:}

点评

如果用鼠标点菜单窗口内,人物也会往那个方向走的。  发表于 2013-10-16 22:55
这个问题为什么可以百度…(搜索 ruby class module 三个关键词就可以了)  发表于 2013-10-16 19:05

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

2
发表于 2013-10-16 19:08:49 | 只看该作者
module是模组,主要用于设置一个初始的参数
可以使用事件脚本修改内部的参数。
如:
module Image
Background = RPG::Cache.picture("background")

class是定义指定一个参数脚本的内容。
不能使用事件脚本修改内部的内容吧。

如:
class Image
  

  attr_accessor        :x                # X 坐标
  attr_accessor        :y                # Y 坐标
  #--------------------------------------------------------------------------
  # 初始化
  #--------------------------------------------------------------------------
  def initialize

我只能这样解释了

点评

谢谢了……。不过还是没懂、、、、人太笨了  发表于 2013-10-16 19:32

评分

参与人数 2星屑 +70 收起 理由
myownroc + 60 塞糖
wwwcctvty + 10 谢谢指点了

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
3
发表于 2013-10-16 19:20:59 | 只看该作者
module从英文名词解释就是模型、模块。详细解释如下,如果LZ有RUBY基础,看下面的应该不成问题
1. module没有实例变量,也不能生成实例对象;
2. Class的父类是Module;
3. 在类中include module,module中的方法会被添加到类的实例方法中
4. 在类中extend module,module中的方法会被添加到类方法中
5. module的一个常用的callback函数:included,会在该module被include到一个类中时被调用
class比较常见,在大多数脚本中也有。详细解释如下
1.类的实例变量一般以@开头,类变量一般以@@开头,都是封装在类内部
2.和其它的语言不同,ruby class中类层可以执行程序

评分

参与人数 2星屑 +70 收起 理由
myownroc + 60 塞糖
wwwcctvty + 10 谢谢指点了

查看全部评分

《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33125
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2013-10-16 20:14:12 | 只看该作者
本帖最后由 芯☆淡茹水 于 2013-10-16 20:20 编辑

嗯哪,该问题只可意会;不可言传。
打一个不是很形象比喻呢,module 相当于 中央法律 ,规定一些总体的条条款款。class 相当于 地方法律 它再把这个 module(中央法律) 详细化。
各个地方的地方法律都各有不同,但都是基于 module(中央法律)为框架。
比如下面 2 个:
class Sprite_Battler < RPG::Sprite
class Sprite_Character < RPG::Sprite

评分

参与人数 2星屑 +70 收起 理由
myownroc + 60 塞糖
wwwcctvty + 10 我想写个地图上的菜单,是用类还是用模块呢.

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
5
发表于 2013-10-16 21:09:57 | 只看该作者
本帖最后由 yagami 于 2013-10-16 21:13 编辑

其实没有模板module不影响你编程的 用全局变量 或函数能达到一样的目的 RUBY弱类型的 所以不像c++的模板那样起到泛型编程的效果
在我看来module唯一的作用 在 多人合作时  A定义了个全局变量 X并对其操作 B也定义了个全局变量X 也对其操作 这样 AB2人的工程合在一起 肯定有问题
这时如果 A建立个module A ,B建立个module B , A用A::x  B用B::x  虽然都是X 但不会出现上面那种耦合情况了 所以我觉得 他改成名词空间更合适点 namespace

评分

参与人数 2星屑 +70 收起 理由
myownroc + 60 塞糖
wwwcctvty + 10 谢谢指点

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33125
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

6
发表于 2013-10-16 22:17:08 | 只看该作者
在地图上写菜单,仿照默认菜单场景和窗口来写,这些都是 class 。
你要的效果是不是菜单窗口以外的地方,用当前地图来做背景?

点评

系统自带不能满足我要的效果  发表于 2013-10-16 22:21
我是制作可移动菜单和打开菜单角色还可其它操作  发表于 2013-10-16 22:20
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33125
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2013-10-16 22:28:40 | 只看该作者
那样的话只需要建你的菜单的一些窗口即可,之后加入到地图场景里。
先将菜单窗口设为不可见,按菜单键后设为可见状态,并定义一些选项
功能,那样就可以选择菜单,,,,额~~,那不是按方向键选择菜单
时,人物还可以到处乱走?!

点评

你忘记鼠标了----------_--  发表于 2013-10-16 22:53
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

8
发表于 2013-11-20 20:52:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-30 04:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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