/ / KineticJS - nový tvar z reťazca alebo poľa - javascript, kineticjs

KineticJS - nový tvar od String alebo Array - javascript, kineticjs

Mám niekoľko definícií tvarov uložených v súboroch, t.j.

Kinetic.Rect({width : 150,height : 50,stroke : "black",fill :"#00D2FF",strokeWidth : .5,cornerRadius : 25,name : "rect"});

Tento riadok (okrem iných) je k dispozícii prostredníctvom poľa. Normálne vytváram tento tvar nasledovne:

rect = new Kinetic.Rect({
width: 150,
height: 50,
stroke: "black",
fill: fill,
strokeWidth: .5,
cornerRadius: 25,
name: "rect"
});

Ako vytvorím tento tvar z poľa / reťazca?

(rect = nový "reťazec z poľa [xx]")?

odpovede:

0 pre odpoveď č. 1

Tvary KineticJS (ako napríklad Rect) sú definované pomocou obyčajného objektu javascript, ktorý obsahuje požadované vlastnosti.

Poznámka: Vyplnenie definície závisí od premennej fill. Buď si istý fill je platné!

// define a rectangle

var rectDefinition1={
width: 150,
height: 50,
stroke: "black",
strokeWidth: .5,
cornerRadius: 25
};

Túto definíciu môžete vložiť do takejto funkcie, ktorá vytvorí Kinetic.Rect z vašej definície a na tento objekt použije konkrétny nový názov.

// function to create a Kinetic.Rect from the rectangle definition

function makeRectFromObject(myObject,newName,newFill){

var rect=new Kinetic.Rect(myObject);

rect.name(newName);

rect.fill(newFill);

return(rect);

}

Použili by ste funkciu vytvárania takto:

// Use like this

var rect1=makeRectFromObject(rectDefinition1,"rect1","red");

// add the newly created rect to the layer and redisplay the layer

layer.add(rect1);
layer.draw();

Ak chcete uložiť a načítať svoje definície objektov, môžete použiť JSON:

// serialize your javascript object to a JSON text string
// This is a regular text string that can be stored in a file or database.

var myRectDefinitionAsJSONText = JSON.stringify(rectDefinition1);

// create a javascript object from your JSON text string

var rectDefinition1= JSON.parse( myRectDefinitionAsJSONText );