辛蒂JS公司

CindyJS的公共接口

除了一些不推荐使用的遗留内容,CindyJS将单个对象导出到全局命名空间中,该名称空间称为辛迪吉斯. 此方法需要一个对象作为参数,而该对象又包含各种参数。

例子:

CindyJS({ports:[{id:“CindyCanvas”}],
脚本:“cs*”,
 csconsole:null 
});

参数

端口

与新创建的实例相关联的显示端口列表。 目前,实际只使用该列表的第一个元素。 每个端口描述都是一个字典,其中可能包含以下项目:

或者身份证件要素必须给出,后者优先。 以这种方式标识的元素必须是HTMLCanvasElement. 从DOM树中删除画布将关闭实例。

画布名称

向后兼容性设置。canvasname:“名称”相当于端口:[{id:“name”}].

帆布

向后兼容性设置。画布:elt相当于端口:[{element:elt}].

脚本

如果这是一个字符串,它必须包含一个星号*一个可能的事件处理程序*结果字符串将用作身份证件a的属性<脚本>元素。如果脚本包含身份证件它的内容被用作命名事件的CindyScript代码<script id=“csdraw”>每次都需要调用一个脚本。

参数也可以是一个对象。 在这种情况下,它的属性由事件名命名,它们的值将是为给定元素执行的CindyScript代码。 例如脚本:{draw:“draw([0,0])”}将执行每当场景需要重绘时,命令CindyScript。

而不是使用单一脚本参数,可以使用单独的参数来标识<脚本>用于每个事件的标记手稿:“csdraw”将在上面的示例中加载相同的绘制脚本,但不加载名称可能意外以开头的任何其他元素的内容反恐精英.

目前定义了以下事件:

键侦听器

如果这个属性是是的,则将为包含实例的 文档安装密钥侦听器。这意味着访问该页时按下的每个键最终都将在CindyJS事件处理程序中结束是的但是有一个键盘按下脚本 然后画布将成为可聚焦的,并且只有在聚焦时才会接收关键事件。要聚焦画布,请单击它或使用tab键。

转型

transform属性是按顺序应用的转换列表。 每个转换都是一个对象,包含一个属性。 属性的名称描述了转换的类型,而值将提供任何必需的参数。

默认外观

为某些外观设置提供默认值的对象。 默认值的定义如下:

默认外观:{
 clip:“none”,
 pointColor:[1,0,0],
 lineColor:[0,0,1],
 pointSize:5,
 lineSize:1,
 alpha:1,
 overhangSeg:1,
 dimDependent:0.7,
 fontffamily:“sans-serif”,
 textsize:20,
 lineHeight:1.45 
}

任何保持此默认值的参数都不必指定。

C控制台

这应该是无效的,设置为是的或合适的穹顶元素或者它的id字符串。 如果它是一个元素(直接传递或通过其id标识), 则消息(尤其是由错误函数)将被附加到该元素中是的将自动创建一个带有命令行的简单控制台无效的除此之外,如果不存在此参数,则将禁止显示此参数无效的.

在过去,缺少此参数会导致弹出窗口,但这在大多数环境中更具注释性而不是有用。

网格

向后兼容性设置。网格:2相当于端口:[{…,网格:2}],即每个端口内指定的属性。

咬合

向后兼容性设置。快照:正确相当于端口:[{…,snap:true}],即每个端口内指定的属性。

几何

包含几何图元的列表。有关详细信息,请参阅“几何体”部分。

行为

关于物理模拟。详见“实验室”一节。

图像

将要加载的URL列表。 只要图像准备好,就可以在应用程序实例中使用它。

动画

包含以下属性的对象:

为了向后兼容,自动播放可能作为顶层参数出现,而不是嵌套在动画对象。 同样是顶层动物控制可以代替animation.controls.控件. 但是这些是不推荐使用的,并且只有在动画对象根本不存在。

奥尼特

在应用程序实例准备就绪时调用的JavaScript函数。 更具体地说,脚本在所有脚本编译完成后执行,但在初始化脚本在画布侦听器安装之前执行。

独家

如果设置为是的,这将导致应用程序的所有以前实例在该实例准备启动时关闭。

插件

通过提供一个CindyJS.registerPlugin公司. 键是插件名称,插件初始化回调的值。

语言

页面的语言,以两个字母的字符串形式给出。 这用于提供来自翻译口述 使用tr公司函数。 也使用当前语言. 这应该始终与包含页面其余部分的语言匹配。

翻译

字典字典。 外部键是两个字母的语言缩写。 内部键是传递给tr公司函数。 相应的值将作为响应返回。

角度单位

打印角度时使用的单位,以字符串形式给出。支持的值包括拉德,°==,政府科学研究机构联合会=毕业生,=cyc公司=版次=腐烂,π=圆周率方庭. 给定的名称也将作为单位打印, 因此描述为“相等”的设置将打印相同的值 ,但单位的符号不同。默认值是°. 空字符串将导致角度以弧度打印,无单位。 要在非Unicode环境中编辑数据时输入特殊符号, 可以输入°作为\u00b0型π作为\u03c0.

实例方法

调用返回的对象辛迪吉斯有很多方法可以使用。

启动

此方法通常在DOM完全加载后自动调用。 它初始化实例并注册所有必需的侦听器。 此方法不能被多次调用。

关闭

当实例不再活动时,应调用此方法。 在适当的情况下自动调用此方法时要小心。 一种情况是从文档中删除canvas元素。 另一种情况是使用独家参数。 但是明确地关闭一个现在不再使用的实例并不有害。 重复调用此方法是没有效果的。 例如,为相同的画布将使它们都保持活动状态,这可能会导致问题。 删除一些起源在一些较旧的浏览器(那些不支持突变观察者).

唤起

此函数接受一个包含CindyScript代码的字符串。 它将立即在该实例的范围内执行该代码。

开始制作内容动画。

暂停

暂停动画。 下一个调用开始将从当前位置恢复动画。

停止

停止动画。 配置将重置为已调用。

保存状态

保存小部件的状态。 当前只存储几何元素, 但是很有可能将来的版本也会存储脚本变量等的状态 控件的每个存储部分都表示为返回对象的一个属性 ,因此当前该对象将包含一个名为几何学表示几何元素, 格式与相应的输入属性相同。

静态函数

这个辛迪吉斯它的一些附加功能被定义为一个附加功能。

新实例

这个CindyJS.newInstance函数的行为与辛迪吉斯但它不会自动调用启动新创建实例的方法。 在需要自定义启动和关闭控制的特殊情况下使用此方法。

等待

这个CindyJS.等等函数将返回一个可以用作回调函数的函数。 只有在以这种方式创建的所有回调都已执行之后,创建的实例才会自动启动。 必须在HTML文档的头中调用此方法,然后再调用已加载DOMContentLoaded事件已被触发。 这是因为在内部有一个等待该事件的过程,一旦所有事件都被等待,那么指定其他等待条件就是错误的。

寄存器插件

此函数有三个参数。 第一个参数是要使用的API的版本号。 当前仅版本号1第二个参数是插件的名称。第三个参数是一个回调函数初始化一些内容请求的脚本,该插件使用使用CindyScript的操作。 插件API的细节总有一天会在其他文档中描述。

转储状态

这会将小部件的几何状态记录到web开发控制台。 如果有多个小部件,可以使用可选的整型参数来指定小部件的索引。 建议调用此函数并保存其输出 如果特定的几何配置暴露了某种bug,以便更容易再现问题情况。

调试状态

理论上,大多数小部件都可以保存状态,然后使用该状态重新启动小部件,以便再次出现相同的情况。此函数通过对当前文档中的每个小部件执行“保存然后重新加载”循环来帮助验证这一点。

指定非脚本构造元素

几何学

这一节有待编写。它应该规定一个几何直线程序的结构。

门诊化验室

这一部分还有待编写。