Mama文档
内容
介绍
Mama是一种建立在
Carnegie Mellon的
Alice上的编程语言和开发环境。 Mama是为了帮助年轻学生通过构建3D动画和游戏接触编程而设计的。
Mama动画的构建包括两部分:
场景编辑和
程序编辑。 相应的,开发环境包含两个基本的编辑模式: 场景编辑模式和程序编辑模式。 在场景编辑模式下(通过点击3D窗口底部的“+”符号实现)扩大3D窗口,对象图库在窗口底部显示,而右侧窗口包含用于编辑的控制指令。 在程序编辑模式下(默认模式),底部窗口是
程序编辑区域,右侧窗口是
事件编辑区域。
所有当前
对象和
事件的集合叫做
world。 你可以播放
world,改变它并把它保存到文件夹。 在给定的时刻,只有一个在开发环境中打开的world程序,即当前world程序。 你可以从“文件夹”菜单中选择“打开”来打开示例world程序,然后从中选择示例程序。
Mama窗口包含几个部分: 在顶部你可以找到
主菜单和
工具栏, 允许你执行命令,例如创建/打开world程序,给world输入3D对象,创建
独立运行的应用,向
YouTube输出动画等。
用户界面的其它5个部分是:
- 对象树 - 包含当前world程序的对象列表。
- 3D窗口 - 这是放置,移动和转动对象的地方。
- 事件区域 - 允许你编辑某个事件发生时的情况。
- 细节区域 - 包含了3个标签中被选中的对象信息: 属性,方法和函数。
- 编辑器区域(在底部)- 是使用拖拽指令的方式编写程序代码的地方。
当处于
场景编辑模式,上边两部分会被替代:
- 控制面板 - 代替事件区域,并显示各种用于操作3D窗口中对象的控制指令。
- 对象图库 - 代替编辑区域,并显示等级文件夹中的对象,以便选择并嵌入到3D窗口。
安装
开始安装前,请确认目标计算机具有以下最低要求:
- 操作系统: Windows XP/Vista/2000/ME
- 内存(最低): 512MB
下载运行安装程序后,完成显示的指令。
启动
Mama系统由许多主题构成: 丰富的用户界面,3D动画,面向对象的编程语言,对象图库等。 为了方便起见,建议您系统地学习Mama。 首先,作为用户使用Mama,不要做任何编程:打开示例world程序,运行并查看有什么变化。 注意画面中的各种窗口,选取对象并查看细节,尝试记录视频并上传到您的Youtube账户等。
接着,交互式教程提供了快捷简单的学习Mama编程的方法。 为了打开教程,选择“文件”/“打开”,并从显示的对话中选择教程标签,里边有几个教程可以使用。 教程已经标号了顺序,建议按顺序查看。
- 教程1: 猴子趣事 - 介绍Mama,并说明关于对象,编辑方法,播放world程序,上传到Youtube及Facebook的基本操作。
- 教程2: 小睡时间 - 进一步解释方法编辑和新方法的创建。
- 教程3: 企鹅合唱团 - 关注事件: 创建和编辑事件,定义事件动作。
- 教程4: 太空 - 关注场景编辑,从图库中选择对象嵌入到3D窗口。
每一个教程可以逐步地,交互式地指导学生构建项目和world程序。
教程和其他资源:
- 此文档描述了Mama 3D环境中动画的基本原理。
- 动画基础 - 为了更好的理解动画,请阅读和学习 动画教程。 对于如何创建动画程序,此指导提供了一种很好的渐进式的解释。
- 高级动画 - 对于高级用户,猴子趣事指导提供了对于Mama应用程序和分解模块的透彻解释,以及对于Mama编程语言和高级动画更好的理解,同时也介绍了摄像机的使用。
- 示例程序 - 示例目录中丰富的示例程序提供了很多有价值的信息(事实上,一些教程就是基于示例目录中的例子)。 示例程序提供了一种很好的研究Mama环境和查看能力的方式。为了打开示例程序,选择“文件”/“打开”并从示例程序标签中选择示例world程序。
- 参考手册 - 对于具体问题提供即时帮助的引用手册。
- Mama论坛 - 另一个有价值的信息来源,你可以在这里发布问题或答案,也可以交流想法和项目。
- [www.alice.orgs/communitiy Alice论坛 - 包含大量关于Alice的信息。Mama就是基于Alice的,因此你可以把它作为另一个丰富的文档来源来使用。
- Baldwin的网站 - 另外,另一个非常有用的关于Alice文档的来源在 Richard G. Baldwin教授的网站。 Baldwin教授的网站包含Alice几乎所有方面的文档和教程,内容全面而权威。 这个网站的许多信息也是关于Mama的。
关键字快捷键
Mama配置
Mama的配置由两个配置文件决定:
- config.txt - “管理员配置文件” - 在Mama安装的根目录下(通常是c:/Program Files/Mama) - 设置Mama的主路径,并控制用户配置(config.xml)。这个文件中的设置会覆盖用户设置。
- config.xml - “用户配置文件” - 在C:/Documents and Settings/<user-name>/mamaen下 - 设置Mama的各种变量。
在管理员的confix.txt文件中,通常会设置管理员/指导人员方便的变量,例如:
| 变量 | 描述 | defalut value |
| config.dir | 用户配置文件的目录 | c:/Documents and Settings//.mamaen |
| user.dir | 用户主目录 | C:/Documents and Settings//Desktop/Mama_works |
| enableScripting | 在方法代码中使用Mama文本编辑 | true |
| enableFreeScripting | 在独立窗口中使用Mama文本编辑(为使用此功能你必须同时使用”使用文本编辑“) | false |
| scriptingLanguage | 文本编辑语言,当前适用语言有”Mamm“和”Python“ | mama |
| encryptStandalone | 加密独立运行的程序以使它们不能被编辑 | true |
在config.xml中你可以设置许多变量。 下表包含了有用的配置变量:
| 变量 | 描述 | defalut value |
| movieCapture.frameRate | 视频捕捉的框架比例 - 较高值(24, 32, 64)提供了更好的视频质量但是会创建更大的文件 | 16帧每秒 |
| maxUndoCount | 撤销栈的大小 - 较大值会引起较高的内存占用 | 25 |
| enableRunntimeAsserts | 通过关键字声明在运行时使用声明 - 在开发时,你应该设置此值为真,并在生产版本中让其失效 | true(在独立运行模式下为假) |
| importDirectory | 输入文件的默认目录 | C:/Documents and Settings/<user-name>/Desktop/Mama_works |
| worldsDirectory | 用户world程序的默认目录 | C:/Documents and Settings/<user-name>/Desktop/Mama_works |
Mama脚本编辑
你可以使用Mama编程语言在你的程序中编写脚本。 关于脚本的更多信息请查看
此处。
Mama参考手册
对于指导人员
Mama是为了满足教育需求而设计的。 正因为如此,它可以帮助儿童和成人学生学习编程语言,同时为指导人员提供有力的工具。
一般编程风格
开发环境中有两种风格可用:
- Mama风格 - 编程风格类似于现代编程语言: 标识符名称不包含空格,而且括号用来界定方法/函数的定义/调用中的变量。
- Alice风格 - 简单的风格: 标识符中允许有空格,方法/函数的定义/调用中没有括号。 这种风格建议年轻学生使用,或者作为进入Mama风格前的阶段使用。
例如,给定一个名为“米奇”的对象,它包含名为“走动”的方法。 这就是我们调用它的方式。
<代码语言='mama'> 米奇.走动(10, 左)
<编程语音='mama'> 米奇.走动 10, left 你可以从菜单“编辑”/“偏好”中设置编程风格(你需要重启Mama应用修改)。 选择编程风格是指导人员的的重要决策,需要考虑学生的年龄和他们的编程知识。
(对于使用Alice风格的指导人员,可以从
参考手册获得Alice风格的
示例程序。
构建教程
作为指导人员,你可以创建
面向年轻学生的交互式教程。 这是非常方便和有效的教授方式,而且经常在使用手工指令构建项目时用到。 在教程中,你可以决定学生在每一步中应该做什么,以便在完成当前步时进入下一个。 在运行教程时,一个暗色玻璃屏会让用户界面上的各种访问失效,而只用教程允许访问的部件可以被访问。
点击此处获得关于构建教程的帮助。