MC新手入门(二十九)------ 关系运算符和表达式

来源:互联网 发布:python开发安卓应用 编辑:程序博客网 时间:2024/06/11 05:27
在游戏设计中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。

在游戏设计中有以下关系运算符:

<小于<=小于等于>大于>=大于等于==等于!=不等于使用场景:当在小狗需要表现跳跃的过程时,我们通过关系运算来判断小狗的瞬时速度的取值范围,来切换相应的动作。
目标判断小狗的瞬时速度的取值范围,来切换相应的动作
实例:

5-3-1-1.png

                              

图5-3-1-1

首先我们将目标转换成逻辑描述:
在角色绘制事件中判断:
     如果小狗的速度为0
        小狗角色的动画切换为在最高点的动画
           否则如果小狗的速度方向向上,速度介于1024
              小狗角色的动画切换为起跳阶段的动画
                  否则如果小狗的速度方向向上,速度介于010
                      小狗角色的动画切换为上升阶段的动画
                           否则如果小狗的速度方向向下,速度介于010
                               小狗角色的动画切换为下落阶段的动画
                                   否则如果小狗的速度方向向下,速度介于1024
                                      小狗角色的动画切换为着地阶段的动画
接着我们开始用MC来实现上述的逻辑:

              //yvelocity是系统已经定义好的变量,用来表示角色y轴速度,值为正,表示下落运动;值为负表示上升运动。


                    if(yvelocity == 0) //小狗在最高点的时候速度为0
                     {

                              ChangeAnimation("EventActor", "s2", FORWARD);//这是切换动画的函数,s2是动画名

                     }
                    

                     else if( yvelocity >=- 24 && yvelocity <- 10)


         //起跳阶段 这里“&&”表示只有当两边的关系表达式都为真时,整个表达式才为真
                     {

                              ChangeAnimation("EventActor", "s0", FORWARD);

                     }
                    

                     else if( yvelocity >- 10 && yvelocity < 0)//上升阶段


                     {

                              ChangeAnimation("EventActor", "s1", FORWARD);

                     }
                    

                     else if( yvelocity > 0 && yvelocity < 10)//下落阶段


                    {

                              ChangeAnimation("EventActor", "s3", FORWARD);

                     }
                    

                     else if( yvelocity > 10 && yvelocity <= 24)//着地阶段


                     {

                              ChangeAnimation("EventActor", "s4", FORWARD);

                     }
从上面的例子中,我们可以得出
关系表达式的一般形式为:表达式 关系运算符 表达式

例如:a > b ,(x + 23) /y > z * z

如果这个关系表达式是成立的,我们称之为,用非0表示;反之,我们称之为,用0表示
注意:

我们往往有这么一种写法:12 < x<20,这在游戏设计中,没办法直接使用,只能拆成两步:x > 12并且x < 20。

Demo下载地址:http://www.dongyo.cn/bbs/forum.php?mod=viewthread&tid=2487&extra=page%3D2%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline

原创粉丝点击