KineticJS - 如何拆分对象和文件
KineticJS - How to split up objects and files
我和我大学的一个小组正在使用KineticJS在网络上开发一个游戏。我们使用了很多显示、删除并具有多个动作事件的形状。
现在我们还没有走得很远,但我仍然觉得文件变得非常大。对于我们如何将所有内容划分为较小的文件,您有什么提示吗?是否可以将所有对象存储在一个文件中,而只在另一个文件中执行动作事件?欢迎任何关于工作流程应该是什么样子的提示!
提示:使用工厂模型定义和创建动力学对象
这是一个演示,它允许使用工厂在大约 50 行 javascript 中构建尽可能多的圆圈:
http://jsfiddle.net/m1erickson/s89Mu/
关于工厂模型
首先,创建一个 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 在层上添加真实 Kinetic 圆的代码:
// 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();
}
相关文章:
- 要求定义另一个文件中的对象
- 仅使用文件对象选择单个文件
- S3文件上传文件对象使用节点js
- 如何从txt文件中获取要在javascript数组中使用的对象
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 如何读取csv文件并将其转换为javascript中的对象
- 如何使用Phonegap将图像对象保存到Android中的文件中
- 将另一个文件中的对象添加到单独文件中的阵列中
- 如何打开文件对象(HTML)并在谷歌应用程序脚本中解析它
- 将Excel/CSV文件中的数据导入angularjs-json对象中
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- 将对象下载为格式化的 JSON 文件
- 如何使用node.js将不同的json文件加载到不同的json对象中
- 如何获取使用其完整路径填充的某些文件的文件[0]或[对象文件]
- 向WCF Rest Service发送JSON-对象文件为null
- Tooltipster插件,用于处理SVG对象文件中的元素
- 没有使用JQuery和Javascript从文件输入HTML控件中获取[对象文件]
- 如何在javascript中读取对象文件列表数组