自定义对象/类型 Javascript
Custom Objects/types Javascript
我正在使用canvs在JS中制作一个简单的2d游戏。
游戏由一个骑士组成,他跑来跑去杀死哥布林,哥布林一旦被触摸,就会重置到仰戈姆的位置。我想为每一个被杀的哥布林留下血迹。
目前,在我重新绘制画布之前,我使用之前的 X 和 Y 坐标来绘制哥布林死亡的地方的血液飞溅图像。
不过,我想为所有妖精做这件事。在像Java这样的传统语言中,我会定义一个类型,例如具有两个属性X和Y的"blood"。
然后,我将使用地精当前坐标每轮创建一个这种类型的新实例,然后将此类型添加到数组中,我将循环和 然后打印此数组中的所有对象。
我对JS很陌生,因为它是一种函数式语言,所以事情有点不同。我究竟如何定义这样的类型,我可以在游戏的每次迭代中"新"到数组中?
var blood = {
x: 0,
y: 0
};
这是我现在的血液对象
你在Javascript中创建"类"作为函数。 在函数中使用this.x
就像创建一个名为 x
的成员变量:
var Blood = function() {
this.x = 0;
this.y = 0;
}
var blood = new Blood()
console.log(blood.x);
这些不是像Java这样的OO语言意义上的类或类型,只是通过使用Javascript的作用域规则来模仿它们的一种方式。
到目前为止,这里并没有多大用处 - 一个简单的对象映射也可以工作。 但是,如果您需要在 Blood"类"中提供更多逻辑,例如成员函数等,这种方法可能会很有用。 您可以通过修改对象的原型来创建它们:
Blood.prototype.createSplatter = function() {
return [this.x-1, this.y+1]; // (idk, however you create a splatter)
};
blood.createSplatter();
(小提琴)
有关Javascript类的更多详细信息,我建议查看CoffeeScript语法(向下滚动到"Classes,Inheritance和Super")。 他们有一些简化的 CS 语法和 JS 翻译中的类的并排示例。
相关文章:
- JavaScript类型的、警报和应用
- 在JavaScript类型的函数中避免self-this
- Javascript 类型未定义和 void 之间的区别
- 在Resharper中禁用javascript类型强制警告
- 如何解析 JavaScript 类型 html
- Typeahead的Javascript类型返回未定义
- 在Ruby Slim文件中设置Javascript类型
- 寻找Javascript类型数组仿真库
- JavaScript 类型强制首选项
- JavaScript 类型数组 - 不同的视图 - 2.
- JavaScript 类型数组 - 不同的视图
- JavaScript 类型错误
- 如何处理未定义属性的未定义属性 javascript 类型错误
- Javascript类型转换悖论
- 一种更精致的Javascript类型
- JavaScript 类型注释
- JavaScript 类型参数的有效性
- JavaScript 类型的内存分配
- Javascript 类型错误:oauth 不是构造器
- 奇怪的JavaScript类型转换