Feekood基本语法(6) - 触发器
来源:互联网 发布:淘宝怎么在详情页打字 编辑:程序博客网 时间:2024/05/19 18:46
触发器是Feekood语法中的一个亮点,主要用以解决UI和游戏的交互问题等,用法灵活多样,方便使用。
Feekood中的触发器主要包括对象触发器和函数触发器两种。
1.对象触发器
对象触发器常用于对精灵等属性的控制。主要包括三个运算符函数:
:-> 属性(property)发生变化时,将执行一次表达式(expression)。语法:
property :-> expression
:=> 属性(property)为1时,表达式(expression)将执行。语法:
property :=> expression
==> 满足函数触发的条件(condition)时,表达式(expression)将执行。语法:
condition ==> expression
下面我们使用前几年非常火爆的“植物大战僵尸”游戏来说明三个触发器的具体使用。
(1)首先在网上找到示例需要的两个精灵图片,上传到Feekood开发平台资源管理器中(资源在Samples/触发器目录下)。
(2)随后使用Create函数创建两个精灵。代码如下:
大脑精灵代码:
僵尸精灵创建代码:
(3)随后要使僵尸不断的向大脑移动(对于平移动画的实现,在Feekood基本语法 - 动画中已经介绍。)
这个移动操作应该在游戏一开始便进行,这里使用系统语言内置的IsLoaded触发器达到这个目的,在对象内部使用owner获取对象属性。代码如下:
IsLoaded:=> {
owner.X <: {100, 6000}; //在6秒的时间内移动到屏幕坐标100的位置
};
(4)僵尸在移动时会不断改变X坐标。为了在“消息列表”中监测X的属性值,我们可以定义一个属性触发器观察坐标的移动位置。代码如下:
X:-> {
Print(“僵尸移动到:” + zombieSprite.X); //X坐标改变即打印相关信息
}
(5)僵尸移动到大脑的坐标时,此时游戏结束,应该停止僵尸的移动。代码如下:
owner.X <= brainSprite.X==> {
owner.X<: “clear”; //清除僵尸的移动动画
};
僵尸精灵最终的完成代码如下:
查看脚本的最终运行效果,请猛击这里:查看脚本效果
2.函数触发器
Feekood中的函数触发器主要有下列三个函数:
Event定义事件,当variable值为1时,执行一次表达式。
Event(variable,expression);
Trigger定义当variable值变化时,执行一次表达式。
Trigger(variable,expression);
Update定义的expression时刻都在运行。
Update(expression);
可以看到函数触发器与属性触发器有很多相似之处,只是对象触发器顾名思义主要针对对象,而函数触发器则可以对一些变量(尤其是全局变量)加以控制。
类比对象触发器的使用,如上述检测僵尸位置的属性触发器,可以使用Trigger函数代替。代码如下:
Trigger(zombieSprite.X, {
Print(“僵尸移动到:” + zombieSprite.X);
});
但是用对象触发器显然更加方便代码的组织和管理,所以大家在实际使用时应根据具体的应用场景选择合适的触发器。
官方QQ群:53869409
出处:http://blog.csdn.net/wooyoogame/article/details/44275853
本文版权归作者和CSDN共有,欢迎转载,但请在明显位置给出原文链接,否则保留追究法律责任的权利。
- Feekood基本语法(6) - 触发器
- Feekood基本语法(3)-- 循环控制
- Feekood基本语法(4)-- 函数
- Feekood基本语法(5)-- 动画
- Feekood基本语法(7) - 继承
- Feekood基本语法(2)-- 数据类型、关键字、操作符
- MySQL的一些基本语法(6)-触发器
- Feekood基础语法(1)-- 命名与语句
- Feekood开发环境介绍(1)-- 系统配置及基本界面
- sybase 基本语法,存储过程,触发器
- sybase 基本语法,存储过程,触发器
- 触发器语法
- SQL Server触发器的基本语法与作用
- SQL Server触发器的基本语法与作用
- SQL Sever触发器的基本语法与作用
- SQL Sever触发器的基本语法与作用
- SQL Sever触发器的基本语法与作用
- SQLSERVER存储过程、触发器、函数、游标等基本语法
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- Javascript 初学者应知的 24 条最佳实践
- 【ITOO】--分布式事务
- 第一周 项目4 图书馆的书
- RHEL6.3 YUM 换网易CentOS源
- Feekood基本语法(6) - 触发器
- 例题1.19 计算器谜题 UVa11549
- 南邮NOJ开灯问题
- Uploadify 3.2 参数属性、事件、方法函数详解
- jquery select 的那些事儿
- linux 下DSP音频处理
- 如何查看电脑上安装的JDK位数
- svn merge和branch
- 物理层