Javascript KineticJS-如何分割对象和文件

Javascript KineticJS-如何分割对象和文件,javascript,web,kineticjs,Javascript,Web,Kineticjs,我和我大学的一个小组正在使用KineticJS在网上开发一个游戏。我们正在使用许多显示、删除的形状,并且有几个actionevents 现在我们还没走多远,但我仍然觉得文件越来越大。对于如何将所有内容划分为较小的文件,您有什么建议吗?是否可以将所有对象存储在一个文件中,而只在另一个文件中执行actionevents?欢迎提供有关工作流外观的任何提示 提示:使用factory模型定义和创建动力学对象 下面是一个演示,它允许使用工厂在大约50行javascript中构建所需数量的圆圈: 关于工厂型

我和我大学的一个小组正在使用KineticJS在网上开发一个游戏。我们正在使用许多显示、删除的形状,并且有几个actionevents


现在我们还没走多远,但我仍然觉得文件越来越大。对于如何将所有内容划分为较小的文件,您有什么建议吗?是否可以将所有对象存储在一个文件中,而只在另一个文件中执行actionevents?欢迎提供有关工作流外观的任何提示

提示:使用factory模型定义和创建动力学对象

下面是一个演示,它允许使用工厂在大约50行javascript中构建所需数量的圆圈:

关于工厂型号

首先,创建一个JS对象,该对象包含定义单个唯一圆的所有属性

你可以把它想象成一幅如何构建这个精确圆的蓝图

实际的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();
}