摘要: MC的特点就是以事件(event)、行为(action)为驱动,通过调用MC工具的引擎来进行游戏开发的,下面将通过一些例程来对常用的MC的事件(event)、行为(action)和引擎进行说明。 在前面的章节中有介绍如何创建角色和在角色上添加动画,下面我们要设计一个简单的游戏,实现当鼠标按下时,人物响应相应的动作,当人物击打到目标的时候,把目标击碎,并让目标消失,同时产生一个新的目标,相应的屏幕也产生一次抖动的效果。 如图6-1-1,创建了7个角色,其中actBackground、actTarget、actRole是普通的Normal类型的角色,将三个角色的启动时创建均勾选;actUp、act 阅读全文
posted @ 2013-05-16 14:19 zj_king 阅读(549) 评论(0) 推荐(0)
摘要: 什么是指针 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确的找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 简单地说,指针就是地址。这里的地址是指内存地址,但是与我们日常生活中的地址很相似,他说明了某一个角色(对程序来说是数据,对生活中的角色可以是人,也可以是物等)所在的地方。我们通常会向某人询问他的住址,然后把.. 阅读全文
posted @ 2013-05-16 14:17 zj_king 阅读(346) 评论(0) 推荐(0)
摘要: 在定义函数之后,我们就会开始调用函数来实现相关的功能, 如: 在无参函数的例子中初始化游戏界面:initFrame(); 在有参函数的例子中点击<向上>按钮:move(1);从而可以得出函数调用的一般形式为: 函数名(实际参数表) 对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造型数据及表达式。如果有多个参数则各实参之间用逗号分隔。被调用函数的声明和函数原型如:在有参函数的例子的中定义和声明是 void move(int choice)//函数声明。 void move(int choice)//函数定义... 阅读全文
posted @ 2013-05-16 14:16 zj_king 阅读(173) 评论(0) 推荐(0)
摘要: C源程序是由函数组成的,实用程序往往由多个函数组成,C语言不仅提供了极为丰富的库函数还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。函数的定义形式从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。(1)无参函数使用场景:在游戏中,我们通常会自己定义一个无参函数来实现创建场景功能,实现程序代码可重用性。实例:创建场景目标:游戏运行时创建游戏界面场景图5-6-1-1首先我们将目标转换成逻辑描述: 游戏运行时,做下面的事情: 创建界面背景; 创建<开始游戏>、<排行榜>、<退出>角色且 阅读全文
posted @ 2013-05-16 14:14 zj_king 阅读(258) 评论(0) 推荐(0)
摘要: 在游戏设计中,我们常常要存放和读取游戏中的物品数量和名字,或者要读取不断变化的关卡数,这是我们就可以借助数组来实现。下面我们将对数组做详细的介绍。 使用场景:实现RPG游戏中记录并显示物品栏中某物品的名称与数量 目标:实现游戏道具名称和数量的存储和读取 实例:一维数组:本案例实现的逻辑是: 定义一维数组, 之后对数组进行赋值,记录道具的数量, 在点击物品时,读取数组的值,显示物品的数量。实现的代码为: intitemNum[5];//定义一维数组itemNum,用来分别记录5种物品的数量 int itemNum[5]= { ... 阅读全文
posted @ 2013-05-16 14:12 zj_king 阅读(374) 评论(0) 推荐(0)
摘要: 循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。 1)while语句; 2)do-while语句; 3)for语句; while语句(当条件满足的时候一直做某件事情)使用场景:在游戏中,我们往往会连续创建某些类似的角色,这时就可以使用while循环来减少创建角色的复杂度。 实例:影分身之术 目标:鼠标点击将要进行分身的角色后,在角色的的正下方等距分出5个一样的影子;首先我们将目标转换成逻辑描述: 当影子个数不到5个的时候一直做如... 阅读全文
posted @ 2013-05-16 14:10 zj_king 阅读(341) 评论(0) 推荐(0)
摘要: 在游戏设计中用if语句构成分支结构。它根据给定的条件进行判断,其中进行条件判断的表达式通常就是前两节提到的关系表达式或逻辑表达式,通过其值的真假来决定执行某个分支程s序段。游戏设计中的if语句有三种基本形式。 1.if语句使用场景:当鼠标点击人物的时候,人物掉血10点,当人物血量降到0的时候,状态显示变为“你挂了”目标:判断玩家的生命值是否在健康状态实例:图5-3-3-1首先我们将目标转换成逻辑描述: 判断玩家的血量是否为0 如果为0则显示“你挂了”。接着我们开始用MC来实现上述的逻辑: if(iHp_rec == 0 )//判... 阅读全文
posted @ 2013-05-16 14:09 zj_king 阅读(746) 评论(0) 推荐(0)
摘要: 游戏设计中提供了三种逻辑运算符: 1)&& 与运算 2)|| 或运算 3) !非运算 游戏设计中我们常常要用到上面的逻辑运算,例如:当在双人游戏中都要实现两人同时存活才能过关,这时需要用与运算来实现;游戏中常常可以使用多种方式来消灭“敌人”,只要使用一种方式来消灭就可以完成任务,这时需要用或运算来实现;在登入界面中,只有当用户名和密码都有输入的情况下,才开始进行身份验证,这时需要用非运算。使用场景:在密室逃脱游戏中,有三道门,按照不同的要求,可以依次打开这三道门。目标:按照需求打开三道门实例:第一关:要求至少拿一把钥匙才能开门图5-3-2-1第二关:要求两把钥匙都拿起来才能开门 阅读全文
posted @ 2013-05-16 13:25 zj_king 阅读(293) 评论(0) 推荐(0)
摘要: 在游戏设计中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。在游戏设计中有以下关系运算符:<小于<=小于等于>大于>=大于等于==等于!=不等于使用场景:当在小狗需要表现跳跃的过程时,我们通过关系运算来判断小狗的瞬时速度的取值范围,来切换相应的动作。目标:判断小狗的瞬时速度的取值范围,来切换相应的动作实例: 图5-3-1-1首先我们将目标转换成逻辑描述:在角色绘制事件中判断: 如果小狗的速度为0 小狗角色的动画切换为在最高点的动画 否则如果小狗的速度方向向上,速度介于10到24 小狗角色的动画切换为起跳阶段的动画 ... 阅读全文
posted @ 2013-05-16 13:23 zj_king 阅读(244) 评论(0) 推荐(0)
摘要: 顺序结构是三种基本结构中最简单的一种结构。程序执行的顺序:按自上向下的顺序依次执行。如下流程图所示: 图5-2-1 游戏设计中提供了多种简单语句,可以组成各种不同形式的顺序结构。如下所示:图5-2-2 表达式语句使用场景:在游戏中,通常调用函数来实现某种功能。实例:创建定时器目标:每隔一段时间来创建角色图5-2-1首先我们将目标转换成逻辑描述:定时时间到,做下面的事情: 固定位置创建角色; 角色向下移动; 直到结束。接着我们开始用MC来实现上述的逻辑:点击背景当“使用计时器事件”时做“脚本逻辑”:CreateActor("actBall","... 阅读全文
posted @ 2013-05-16 13:22 zj_king 阅读(426) 评论(0) 推荐(0)