我和我大学的一个团队正在使用KineticJS在网络上开发一款游戏。我们正在使用显示,删除和几个actionevents的形状。KineticJS - 如何拆分物体和文件
现在我们还没有走得很远,但我仍然觉得档案越来越大。你有关于如何将所有内容分成小文件的提示吗?是否有可能将所有对象存储在一个文件中,并在另一个文件中执行actionevents?欢迎任何提示,了解工作流程应该是什么样子!
我和我大学的一个团队正在使用KineticJS在网络上开发一款游戏。我们正在使用显示,删除和几个actionevents的形状。KineticJS - 如何拆分物体和文件
现在我们还没有走得很远,但我仍然觉得档案越来越大。你有关于如何将所有内容分成小文件的提示吗?是否有可能将所有对象存储在一个文件中,并在另一个文件中执行actionevents?欢迎任何提示,了解工作流程应该是什么样子!
提示:使用工厂模式来定义和创建动力学对象
这里有一个演示,让使用一个工厂,你在大约50行JavaScript代码的需要建立尽可能多的圈:
http://jsfiddle.net/m1erickson/s89Mu/
关于工厂模式
首先,创建一个保存人一个JS对象l定义单个唯一圆的属性。
您可以将此视为如何构建此确切圈子的蓝图。
实际的Kinetic.Circle将在稍后使用myCircleDefinition5进行构建,并将添加到图层中。
性能注释:您可以使用JSON来保存此值,以将myCircleDefinition5保存到文件或数据库中。
就像不引人注意的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();
}