我和我大学的一群人正在使用动力学在网上开发一个游戏。我们正在使用显示,删除并具有多个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();
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top