Feekood基本语法(7) - 继承
来源:互联网 发布:中日韩 餐具知乎 编辑:程序博客网 时间:2024/05/21 19:40
Feekood中的“继承”语法借鉴了面向对象的思想,能够有效简化代码复杂度,便于脚本代码的共享和重用。
语法:
InheritArray :: BaseArray
其中InheritArray表示继承的集合,BaseArray表示被继承的集合,返回在继承的基础上产生的新集合。
1、单元素集合继承
Print({4}::{1,2,3}); //打印{1,2,3,4}
2、键值对元素集合继承
Print({m:4,n:5}::{x:1,y:2,z:3}); //打印{x:1,y:2,z:3,m:4,n:5}
在集合元素的键重复时会覆盖继承集合的属性
Print({y:4}::{x:1,y:2,z:3}); //打印{x:1,y:4,z:3}
3、触发器继承
继承集合时,如果元素有触发器,则会一并继承下来。
继承属性触发器:
m={x:0;x:->{Print(owner.x)}};
n={x:1}::m;//打印X:1
n.x=100;//打印X:100
继承条件触发器:
m={x:0;owner.x>100==>{Print(“”OK”“)}};
n={}::m;
n.x=101;//一直打印”OK”
4、动画继承
例如上一节的“僵尸”例子。所有的僵尸都从相同的位置向相同的方向移动,因此坐标、动画等属性都是通用的,我们可以提取僵尸的“基类”集合,放置通用属性,随后对于特定的僵尸设定相应的图片即可。代码如下:
同理,理解了继承的原理后,可以使用新的动画代替原有的IsLoaded中的动画,从而达到不同的僵尸行进速度不一样的效果。
5、多文件继承。
在文件中定义的对象可以通过Include函数引用到其他文件中加以使用,同样可以对Include得到的对象使用继承操作。
如在1.ais中定义:
x = {a:1};
在同级目录的2.ais中引入1.ais:
Include(“1.ais”);
此时,可以如之前的操作一样定义新的集合继承x:
y = {b:2} :: x;
由上述例子不难看出,在Feekood语言中,无论是在单文件还是在多文件中,无论是普通集合,还是键值对集合,无论是属性、触发器还是动画等都能够使用“继承”语法复用代码,“继承”语法能够有效的进行代码的组织和管理,在大型游戏的开发中有着广泛的使用。
官方QQ群:53869409
出处:http://blog.csdn.net/wooyoogame/article/details/44600123
本文版权归作者和CSDN共有,欢迎转载,但请在明显位置给出原文链接,否则保留追究法律责任的权利。
- Feekood基本语法(7) - 继承
- Feekood基本语法(3)-- 循环控制
- Feekood基本语法(4)-- 函数
- Feekood基本语法(5)-- 动画
- Feekood基本语法(6) - 触发器
- Feekood基本语法(2)-- 数据类型、关键字、操作符
- Feekood基础语法(1)-- 命名与语句
- Feekood开发环境介绍(1)-- 系统配置及基本界面
- 继承及其基本语法
- java继承的基本语法
- kotlin 学习记录 基本语法 (4 类和继承)
- [java语法]基本语法(6) 面向对象--类的继承
- 继承(inheritance)语法
- 最简洁完整的Java基础教程(基本语法、继承、接口、多态)
- 第一章 基本语法-7循环(while)
- linux基本语法7
- c++基本语法学习2 继承 多态 模板
- [java语法]基本语法(1)
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- 我的java学习笔记(三)
- C++ string的c_str函数极易产生bug, 有陷阱, 请慎用---强烈建议用strncpy来拷贝c_str
- eclipse 黑色主题在线更新
- 用动态分配空间的计算方法计算Fibonacci数列的前20项
- Feekood基本语法(7) - 继承
- javascript学习之javascript运算符
- java数据结构---折半查找
- 关于C++思考(一)
- 第一个驱动程序(点亮LED灯)
- windows 下使用 MinGW + msys 编译 ffmpeg
- 操作字符串中的数字序列
- 88-NSThread的使用
- 谓词