KineticJs - 如何拆分对象和文件
-
20-12-2019 - |
题
我和我大学的一群人正在使用动力学在网上开发一个游戏。我们正在使用显示,删除并具有多个ActionEvents的很多形状。
现在我们没有很远,但我仍然觉得文件变得非常大。你有什么技巧,我们如何将所有东西分成较小的文件?是否可以将所有对象存储在一个文件中并仅在另一个文件中执行ActionEvents?欢迎任何提示的工作流程如何看起来像!
解决方案
提示:使用工厂模型定义并创建动态对象
这是一个演示,让我们使用工厂在大约50行的JavaScript中需要构建多个圆圈:
http://jsfiddle.net/m1erickson/s89mu/
关于工厂模型
首先,创建一个符合定义单个唯一圆圈的所有属性的js对象。
您可以将此视为如何构建确切圆圈的蓝图。
实际的动词循环将在稍后使用mycircledefinition5构建,并将添加到图层中。
性能注意:您可以使用JSON保存它来将MycircledFefinition5另存为文件或数据库。
并类似于不引声的JavaScript,您的数据定义与您的代码进行了分开的清洁代码。
// create the definition of a circle -- not yet an actual circle
var myCircleDefinition5={
cx: 150,
cy: 100,
radius: 20,
fill: "blue",
strokewidth: 4
}
.
以下是使用mycircledefinition5在图层上添加真正的动态圆圈的代码:
// turn the object into a real Kinetic.Circle
makeCircle(myCircleDefinition5);
// this is the "factory" that takes a definition and produces a real Kinetic.Circle
function makeCircle(circleObject){
var circle = new Kinetic.Circle({
x:circleObject.cx,
y:circleObject.cy,
radius: circleObject.radius,
fill: circleObject.fill,
stroke: 'lightgray',
strokeWidth: circleObject.strokewidth,
draggable: true
});
layer.add(circle);
layer.draw();
}
. 不隶属于 StackOverflow