发信人: ace50(方伞)
整理人: nhyjq(2003-01-05 15:45:13), 站内信件
|
以下是我们老师的教程,他好象是“谢绝转载”的,对不起他了
不过我的心得,和这是差不多的
#########软件简介:
MMF是一个面向对象的游戏程序和多媒体程序设计工具,可以创建 “仙剑奇侠传”、 “星际争霸”风格的二维游戏、Web网页游戏、CAI软件、交互式动画、会议演示文稿、电脑屏幕保护程序等。其后续产品Jamagic可以创建“雷神之锤”、“古墓丽影”风格的实时三维游戏。
该软件还提供了开放的开发接口,可以用VC++编写扩展对象,加入MMF。有众多的第三方开发商在为MMF开发扩展对象。
软件使用环境:中英文Windows 98/me/2000/xp。
#########程序设计步骤:
1. 建立一个项目专用子目录。
2. 选择菜单File/New/Project,建立一个Project1窗口。
3. 在Project1上单击右键,选择Insert an application,建立Application1。双击Application1下的Properties项,在新出现的Properties窗口中单击Window项,可以设定应用程序的显示窗口的大小。
4. 在Application1上单击右键,选择Insert a frame,可以添加一个frame。frame意为“场景”。游戏程序可以决定什么时候显示哪个frame。双击Untitled frame下的Properties项,在新出现的Properties窗口中单击Frame项,可以设定一个场景的大小。在Untitled frame上双击,出现Frame Editor。
5. 在场景上单击右键,选择Insert an object,选择各种对象,然后在场景上目的位置处点击,出现相应的对话框,设置后退出,一个对象就出现在Frame上。也可以选择菜单View/Multimedia Fusion Libraries,从中选择可用的对象,直接拖到场景上使用。
6. 首先添加Quick Backdrop(快速背景对象,可以重复平铺)或Backdrop(背景对象,不能重复平铺)。右击这两种对象可设置其各种属性,其中Properties/Obstacle项可设置对象为不允许活动对象通过的障碍。
7. 再添加Active(活动对象)。活动对象是最常用的,也是参数设置最复杂的。右击活动对象,可选择Edit项,对活动对象进行编辑;可选择Properties/New Movement,选择一种运动方式。首先选择玩家控制角色的运动方式,可选8方向运动方式,这时出现设置对话框,可以设置角色的移动速度、加速度、减速度、可移动方向、初始方向等。然后设置计算机控制角色的运动方式,可以设置为弹球运动方式或路径运动方式。路径运动方式的设置方法:单击New Line按钮,在场景上右击,就出现一条直线,多次右击,即可建造一条弯曲的移动路径,单击左健结束路径。在移动路径的节点上点击右键,可以设置节点的速度、暂停等属性。
8. 在工具栏上点击“Event editor”按钮,出现事件编辑器窗口。游戏中所有的对象都横排在最上边的一行中,而条件描述在左边从上向下排列。于要在其前插入新事件的事件行序号按钮上右击,选择Insert/A new event,出现new condition对话框。右击一个对象,选择一个条件,例如“Collision between A and B”。如果该条件的结果是“A反弹”,则在该事件行和最上面一行的A对象交叉的网格中右击鼠标,选择动作“Movement/Bounce”。网格中出现一个对号,表示网格内有动作。当鼠标移至网格上时,格内动作就显示出来。所有的事件行都可以这样添加。
9. 在工具栏上点击“Run Application”按钮,可以随时运行游戏观察效果。
10. 最后打包,形成可安装、可独立运行的游戏软件或多媒体软件。
##########编辑器系统:
1.Project Explorer:项目编辑器,Project Properties定义所有Application的缺省设置。一个Application可以更改某些设置,但其余设置使用Project Properties中的设置。
2.Application Explorer:应用编辑器,含全局变量,全局事件。
3.Storyboard Editor:故事板编辑器,显示各场景略图。
4.Frame Editor:场景编辑器
5.Animation Editor:动画编辑器
6.Morphing Processor:变形动画编辑器
7.Picture Editor:图形编辑器
8.Icon Editor:图标编辑器
9.Event Editor:事件编辑器,游戏程序设计就是在这里进行的。
10.Event List Editor:事件列表编辑器,主要用来提供游戏程序打印视图。
11.Time Line Editor:时间线编辑器
12.Step-Through Editor:步进编辑器,没有实用价值。
13.Expression Evaluator:表达式求值器,在这里调用对象的函数。
###########对象编辑:
对象清单:13类57个对象
1. Animation objects:
Active
FLI
3D Sprite
2. Audio objects:
CD-Audio
Mixer
Sound
3. Communication objects:
Active X
File
MCI
Network
Shared Data
Sub-Application
4. Control objects:
Create New Objects
Print
Special
Storyboard Controls
Window Control
Window Shape
5. Games objects:
Analog Joystick
Lives
Score
Hi-Score
Player
6. Graphics objects:
Active Picture
Backdrop
Draw
Picture
Quick Backdrop
7. Information Storage and Retrieval objects:
Array
Counter
INI
ODBC
Search
8. Internet objects
FTP
Netscape
Vitalize! Plug-In
9. Menu objects
Combo Box
List
Popup Menu
Tree Control
10. Text objects:
Edit
Formatted Text
Rich Edit
String
11. Time and Date objects:
Date & Time
Timer
12. User Control objects:
Button
Click Blocker
Cursor
Mouse & Keyboard
Question & Answer
System Box
13. Video objects:
Direct Show
MPEG
QuickTime
QuckTime VR
AVI
Active Object的右键快捷菜单
Edit:动画编辑,在下面介绍
Insert a object
Properties
Explore from here
Fade in
Fade out
Alterable values
Name
Icon
Ink effect
Memory:可设定对象为全局对象,全局对象可在一个Application的所有Frame中使用。
New movement:在下面介绍。
Behavior #1:行为
Qualifier:类,对类定义的事件对该类所属的所有对象都起作用。
Scrolling
Collisions
Display
View:层
Align in Frame
Cut
Copy
Delete
Rename
Clone:克隆,创建与原对象行为不同的新的独立对象。
Duplicate:复制,创建与原对象行为相同的对象。
Info
动画编辑:
热点:对象标称位置点。
动作点:发射点。
最低动画速度:对应最低移动速度。
最高动画速度:对应最高移动速度。
从一个方向序列变8个方向序列的方法:
动画序列包括:walking,running,appearing,disappearing,bouncing,shooting,jumping,falling,climbing,crouch down,stand up,user animation。
有些动画序列会自动播放。对象第一次在屏幕上出现或被创建时,自动播放Appearing序列。对象被Destroy动作消除时,自动播放Disappearing序列。对象用Shoot An Object 动作发射另一个对象时,自动播放shooting序列。一个具有平台运动的对象,当走出平台时,自动播放falling序列。
可以在动画编辑器中添加和编辑动画序列,也可以创建自己的动画序列。
对象缺省播放的动画序列是stopped。你可在Event editor中用Animation/Change/Animation Sequence动作更改对象播放的动画序列。
New movement属性设置:
玩家控制的运动:
Mouse Controlled:使对象跟随鼠标运动。
Eight Directions:使对象跟随键盘或游戏杆在8个方向运动。
Race Car:使对象跟随键盘或游戏杆象赛车一样运动。
Platform:使对象跟随键盘或游戏杆象在平台上行走一样运动。
电脑控制的运动:使对象看起来好象在自己运动。
Bouncing Ball:使对象沿直线运动。
Path Movement:使对象按预先设定的路径运动。
静态运动:使对象静止。高级用户可通过设置对象的X,Y坐标使对象运动。
########事件编辑:
介绍编程的基本概念
1.Event(事件):是Multimedia Fusion程序的基础。加入Frame的每一个元素都是一个对象,每一个对象可以有许多事件。 在事件编辑器里,每一个事件行包含一个或多个条件、动作。例如, A对象与B对象相撞(条件),A对象反弹(动作),事件就是条件和动作的集合。
插入事件:
在事件编辑器里,于要在其前插入新事件的事件行序号按钮上右击。
选择Insert,再选择A new event。
右击一个对象,选择一个条件。
选择对应该条件并在一个对象之下的网格。
选择一个动作。
删除事件:
2.Behavior(行为):是一组仅属于一个对象的事件,这些事件不会出现在Frame所属的事件编辑器里。如果你将一个对象拷贝粘贴进另一个Frame里,它的行为也一起带入。
3.Global Event(全局事件):在整个Application运行期间都起作用。可以在Application的Global events属性中编辑全局事件。
4.Event Group(事件组):是一组事件。事件组可以激活执行,也可以关闭不执行。添加一个事件组的方法:
在事件编辑器里,于要在其前插入事件组的事件行序号按钮上右击。
选择Insert,再选择A group of events。
5.Conditions(条件):是动作发生的触发器。运行时程序检测条件是否满足,如果满足,相应的动作就发生。动作填写在条件行和对象列相交的网格里。程序开始后从第一个事件行的条件开始依序往下检测执行。检测到最后一个事件行时,重新开始检测第一个事件行,开始一个新的事件循环。
6.Negating Condition(否定条件):用Negate操作符可以更改一个已存在的条件:
在事件编辑器里,右击你想否定的条件。
选择 Negate 。
7. Multiple Condition(多重条件):在一个事件行里可以添加多个条件,组成逻辑与(并且)条件,方法如下:
在事件编辑器里,右击已有一个条件的事件行的序号钮。
选择Add a new condition。
添加一个新条件
8.Limit Condition(限制条件):限制条件用来限制一个事件行内动作的执行次数。许多事件行持续满足,但你也许并不想让动作持续执行,这时就可以添加限制条件,限制动作的持续执行。例如,你想在每次两个对象重叠时向计数器加1,使用限制条件可以避免在两个对象重叠的整个时间计数器不停地加1。限制条件有:
Run this event once:程序在一个Frame内执行期间,条件满足时只执行一次动作,即使后来条件再次满足,也不会第二次执行动作。
Only one action when event loops:条件持续满足时,只执行一次动作。若条件中断持续满足一次,再次满足时可以第二次执行动作。
Repeat:条件持续满足时重复执行特定次数的动作。
Restrict actions:条件持续满足时,每隔一段时间执行一次动作。
9.Always/Never(总是/永不条件)
Always:条件总是满足,动作总是执行。
Never: 条件永不满足,动作永不执行。用来注销但不删除一个事件行。
10.Action(动作):一个条件满足时动作就被触发。动作是条件的结果。动作的排列次序决定动作的执行顺序。要改变动作的顺序,右击事件行的序号钮,选择Edit the Actions。这时打开只有选定事件行的动作编辑器,你可以用拖动的办法改变动作的执行顺序。
添加一个动作:
编辑一个动作:
删除一个动作:
Spread value(散布值): 给duplicate复制的对象的可变值从给定值开始赋值。
11.Function(函数):功能是从对象获取属性数据。编辑需要数据或文本的条件和动作时,可以调出Expression Evaluator。通过Expression Evaluator里的 Retrieve Data From An Object按钮可以访问各对象的函数。
12.Value(数值):
Global value(全局值):可在一个Application的所有Frame中保持数值,用来在不同Frame间快速传递数据。有16个全局变量。
Alterable Value(可变值):可引用,可更改。
Fixed value(固定值):对象的标识值,可引用,不可更改。
Counter(计数器):
Array(数组):
Ini(初始化文件):项值可引用,可更改。
------------------------------------
方伞·内疚中……
|
|