jCanvas: Layer über Namen aufrufen

  • Wenn ich einen Layer mit Namen angelegt habe wie hier z.B. mit dem Namen "Start"


    $('canvas').drawRect({

    layer: true,

    name: 'Start',

    fillStyle: '#585',

    x: 100, y: 100,

    width: 100, height: 50

    });


    kann ich diesen Layer im Programm an anderer Stelle über den Namen aufrufen und z.B. einen neuen fillStyle übergeben.


    Gott zum Gruß

    Jochen

  • Das hatte ich vorher schon studiert und jetzt noch mal . Wie sagt Goethe "

    „Da steh ich nun, ich armer Tor,

    und bin so klug als wie zuvor.“


    Auszug aus dem Code:



    $('canvas').drawRect({

    layer: true,

    name: 'myBox',

    fillStyle: 'blue',

    x: 50, y: 50,

    width: 100, height: 50

    });


    $('canvas').setLayer('myBox', {

    fillStyle: 'red',

    x: 350, y: 150,

    })

    .drawLayers();


    es wird myBox nur einmal gezeichnet und zwar mit den Daten der Ursprungs mybox, die teils überschrieben werden von denen der zweiten myBox.


    Ich möchte aber beide haben: Einmal in blue und einmal in red.


    Dann weiteres ?


    wenn ich eine zusätzliche Zeichnung einfüge:



    $('canvas').drawRect({

    layer: true,

    name: 'myBox',

    fillStyle: 'blue',

    x: 50, y: 50,

    width: 200, height: 50

    });


    $('canvas').drawArc({

    strokeStyle: 'black',

    strokeWidth: 5,

    x: 100, y: 100,

    radius: 50,

    start: 0, end: 90

    });


    $('canvas').setLayer('myBox', {

    fillStyle: 'red',

    x: 350, y: 150,

    })

    .drawLayers();


    drawArc,


    dann wird die nicht gezeichnet . Keine Fehlermeldung.

  • Zitat

    Ich möchte aber beide haben: Einmal in blue und einmal in red.

    Ach so, dann habe ich dich ganz falsch verstanden: Wenn Du zwei Boxen haben willst, musst Du sie nacheinander zeichnen, z. B. mit drawRect(), und ihnen unterschiedliche Namen geben. setLayer() dient dazu, einen vorhandenen Layer nachträglich zu ändern.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!