Html 画布中的对象定义

Html 画布中的对象定义,html,canvas,Html,Canvas,我在大学最后一年做了一个名为“数据流图绘制工具”的期末项目,它是基于网站的。当画布中的图表出现错误时,我很难做出警告。例如,终止符满足数据流,然后满足流程是正确的。但当终止符遇到数据流,然后遇到存储时,则是错误的。发生此错误时,我如何发出警告?显然,我需要画布中每个形状的某种对象定义。我该怎么做?我真的需要帮助:(以下是如何创建和验证数据流步骤的快速概述: // create javascript objects representing data-flow steps // and put t

我在大学最后一年做了一个名为“数据流图绘制工具”的期末项目,它是基于网站的。当画布中的图表出现错误时,我很难做出警告。例如,终止符满足数据流,然后满足流程是正确的。但当终止符遇到数据流,然后遇到存储时,则是错误的。发生此错误时,我如何发出警告?显然,我需要画布中每个形状的某种对象定义。我该怎么做?我真的需要帮助:(

以下是如何创建和验证数据流步骤的快速概述:

// create javascript objects representing data-flow steps
// and put the steps objects in an array for easy processing
var steps=[];
steps.push({type:'External',label:'Customer'});
steps.push({type:'Flow',label:'Place Order',isBidirectional:true});
steps.push({type:'Process',label:'Process Order'});
steps.push({type:'Flow',label:'Save Order',isBidirectional:false});
steps.push({type:'Storage',label:'DB Table: Orders'});

// start out assuming all steps are valid
for(var i=1;i<steps;i++){ steps[i].isValid=true; }

// look for invalid steps and mark them
// This example checks for sequential steps not separated by flows
for(var i=1;i<steps;i++){
    if(steps[i-1].type!=='Flow' && steps[i].type!=='Flow){
        steps[i].isValid=false;
    }
}
  • 创建JavaScript对象以保存与数据流图中每个步骤相关的信息

  • 将所有步骤对象保存在一个数组中,以便于处理

  • 迭代步骤数组并验证每个步骤

示例代码:

// create javascript objects representing data-flow steps
// and put the steps objects in an array for easy processing
var steps=[];
steps.push({type:'External',label:'Customer'});
steps.push({type:'Flow',label:'Place Order',isBidirectional:true});
steps.push({type:'Process',label:'Process Order'});
steps.push({type:'Flow',label:'Save Order',isBidirectional:false});
steps.push({type:'Storage',label:'DB Table: Orders'});

// start out assuming all steps are valid
for(var i=1;i<steps;i++){ steps[i].isValid=true; }

// look for invalid steps and mark them
// This example checks for sequential steps not separated by flows
for(var i=1;i<steps;i++){
    if(steps[i-1].type!=='Flow' && steps[i].type!=='Flow){
        steps[i].isValid=false;
    }
}
//创建表示数据流步骤的javascript对象
//并将步骤对象放入数组中,以便于处理
var步骤=[];
push({类型:'External',标签:'Customer'});
push({type:'Flow',label:'placeorder',isdirectional:true});
push({类型:'Process',标签:'processorder'});
push({type:'Flow',label:'Save Order',isdirectional:false});
push({type:'Storage',label:'DB Table:Orders'});
//假设所有步骤都有效就开始
对于(var i=1;i