MC新手入门(二十九)------ 关系运算符和表达式
来源:互联网 发布:python开发安卓应用 编辑:程序博客网 时间:2024/06/11 05:27
在游戏设计中有以下关系运算符:
<小于<=小于等于>大于>=大于等于==等于!=不等于使用场景:当在小狗需要表现跳跃的过程时,我们通过关系运算来判断小狗的瞬时速度的取值范围,来切换相应的动作。
目标: 判断小狗的瞬时速度的取值范围,来切换相应的动作
实例:
图5-3-1-1
首先我们将目标转换成逻辑描述:在角色绘制事件中判断:
如果小狗的速度为0
小狗角色的动画切换为在最高点的动画
否则如果小狗的速度方向向上,速度介于10到24
小狗角色的动画切换为起跳阶段的动画
否则如果小狗的速度方向向上,速度介于0到10
小狗角色的动画切换为上升阶段的动画
否则如果小狗的速度方向向下,速度介于0到10
小狗角色的动画切换为下落阶段的动画
否则如果小狗的速度方向向下,速度介于10到24
小狗角色的动画切换为着地阶段的动画
接着我们开始用MC来实现上述的逻辑:
//yvelocity是系统已经定义好的变量,用来表示角色的y轴速度,值为正,表示下落运动;值为负表示上升运动。
{
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- MC新手入门(二十九)------ 关系运算符和表达式
- MC新手入门(三十)------ 逻辑运算符和表达式
- MC新手入门(十九)------ 动画结束事件
- MC新手入门(二)------路径
- MC新手入门(二十)------ 计时器
- MC新手入门(二十一)------ 碰撞事件
- MC新手入门(二十二)------ 游戏场景
- MC新手入门(五十一)------服务器连接 二
- MC新手入门(二十三)------ 音频的设定
- MC新手入门(二十四)------ 游戏声效
- MC新手入门(二十五)------美术图片要求
- MC新手入门(二十六)------屏幕适配
- MC新手入门(二十七)------数据类型、标识符、常量与变量
- MC新手入门(二十八)------ 顺序结构程序
- MC新手入门(四十一)------ 愤怒小狗制作二
- MC新手入门(四十五)------游戏网络功能二
- 关系运算符和表达式
- MC新手入门(一)-----角色
- 如何添加 System.Web.dll
- android三种菜单
- 一个函数名后面加const
- 考研的决定
- 统计一个Byte中1的个数,算法尽可能高性能——C++实现
- MC新手入门(二十九)------ 关系运算符和表达式
- Android中AlertDialog内含单选框或者复选框
- 自己动手屏蔽优酷、土豆、PPS等网站视频广告
- js中void
- 软件开发中没有所谓正确的方法
- adb
- x264参数中文详解(X264 Settings)
- SVN版本库迁移
- Linux常用的几种文件压缩解压方法