kinetic-v3.8.2.js breaks kinetic-v3.6.0.js и kinetic-image-plugin-v1.0.1.js, как исправить? - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь создать кинетический холст, где я могу динамически добавлять картинки из другого источника, и мне нужна сетка на заднем плане, поэтому я использовал kinetic.rect из kinetic v3.8.2.Изображения должны быть перетаскиваемыми, начиная с кинетического v.3.6.0, но если я установил перетаскивание, когда активен v3.8.2, он ломается."config is undefined" в соответствии с FireBug.«img.kinetic.draggable - это не метод», - говорит FireBug.

Есть ли исправление для этого?

1 Ответ

0 голосов
/ 09 марта 2012

Можете ли вы опубликовать небольшой пример? В Кинетическом API произошли изменения. Вот перетаскиваемое изображение с 3.8.2:

<!DOCTYPE html>
<html>
  <head>    

    <script type='text/javascript' src='js/kinetic/kinetic-v3.8.2.js'></script>    
    <script type='text/javascript'>        

      window.onload = function () {

          var stage = new Kinetic.Stage('container', 400, 300);
          var layer = new Kinetic.Layer({
              name: 'someLayer'
          });

          var logo = new Image();        
          logo.onload = function() {

              var myImage = new Kinetic.Image({
                    x: stage.width / 2 - (logo.width / 2)
                  , y: stage.height - logo.height - 5
                  , image: logo
                  , width: logo.width
                  , height: logo.height
              });          

              myImage.draggable(true)
              layer.add(myImage);
              layer.draw();
          }
          logo.src = "\./resources/images/ccs_logo.png";        

          stage.add(layer)        
      }

    </script>

  </head>

  <body onmousedown="return false;" bgcolor=#000000>        
    <div id="container">
    </div>
  </body>

</html>

В частности, недавно были введены конфиги для создания экземпляров классов. Кинетический прямоугольник раньше определялся так:

var rect = new Kinetic.Rectangle(function () {

    //do drawing stuff here
});

Но теперь это определяется с помощью конфига (литерал объекта):

var rect = new Kinetic.Rectangle({
    x: 0,
    y: 0,
    height: 20,
    width: 20
});

Примеры можно найти в документах ; также ознакомьтесь с обновленными KineticJS Tutorials .

...