2009-09-13 7 views
4

je peux faire un obj d'utiliser la toile pour dessiner comme ceci:Canvas Animation Kit Expérience ... ... comment effacer la toile?

MyObj.myDiv = new Canvas($("effectDiv"), Setting.width, Setting.height); 

Puis, je l'utiliser pour dessiner un rectangle sur la toile:

var c = new Rectangle(80, 80, 
     { 
      fill: [220, 40, 90] 
     } 
    ); 
    var move = new Timeline; 
    move.addKeyframe(0, 
     { 
      x: 0, 
      y: 0 
     } 
    ); 
    c.addTimeline(move); 
    MyObj.myDiv.append(c); 

Mais après que je dessine le rectangle, Je veux effacer la toile, mais je ne sais pas quelle méthode et comment faire ... ...

O ... une chose: est le site web du CAKE: Link

Répondre

6

Effacement de la toile:

canvas.clear = true; // makes the canvas clear itself on every frame 
canvas.fill = somecolor; // fills the canvas with some color on every frame 
// with canvas.clear = false and low-opacity fill, fancy motion blur effect 

Removing the rectangle from the canvas: 
rectangle.removeSelf(); 
or 
canvas.removeChild(rectangle); 
3

Vous pouvez essayer cette méthode:

MyObj.myDiv.clearRect(0, 0, canvas.width, canvas.height); 

qui efficacement les couleurs de la toile entière dans la couleur de fond.

2

plus simple est:

MyObj.myDiv.width = MyObj.myDiv.width; 
+1

Est-ce plus rapide que 'clearRect'? – kangax

+2

Notez que cela ne fonctionne pas parfaitement pour Safari, malgré ce que prétend [Dive Into HTML5] (http://diveintohtml5.org/canvas.html#divingin). – Phrogz

0

Je trouve que le redimensionnement de la toile fonctionne comme par magie, même si vous n'êtes pas vraiment changer la taille:

canvas.width = canvas.width 
+2

Notez que cela ne fonctionne pas parfaitement pour Safari, malgré ce que prétend [Dive Into HTML5] (http://diveintohtml5.org/canvas.html#divingin). – Phrogz

Questions connexes