Я могу нарисовать коробку, но не могу ее снять! (Холст) - PullRequest
1 голос
/ 20 сентября 2010

Я задавал этот вопрос раньше, и казалось, что код, который я использовал, был довольно запутанным. Так что это практически та же самая версия кода. Я рисую квадрат на холсте, используя функцию добавления. Точно так же я должен быть в состоянии удалить элемент с холста, используя функцию удаления! Увы, этого не происходит.

Вот код

$(window).addEvent('load',function(){


CANVAS.init({ canvasElement : 'canvas' });
CANVAS.layers.add( new Layer({
    id : 'myLayer'
}));

var colors = [
    'rgba(255,0,0,1)',
    ];

var pos = [
    { x: 150, y : 100 },
]

       var foo = new CanvasItem({
        id : 'item',
        x : pos[0].x,
        y : pos[0].y,
        fillStyle : colors[0],
        events : {
            onDraw : function(ctx)
            {
                ctx.fillStyle = this.fillStyle;
                ctx.fillRect(this.x,this.y,200,200);
            }
        }
    });

CANVAS.layers.get('myLayer').add(foo);
CANVAS.draw();
CANVAS.layers.get('myLayer').remove(foo);
CANVAS.draw();
    });

Здесь также можно увидеть jsfiddle

Библиотека, которую я использую для реализации этого, через библиотеку mootools canvas. Вот ссылка на функции.

Надеюсь, это поможет людям получить мой запрос. Не стесняйтесь задавать вопросы, если вы все еще размышляете о том, в чем именно заключается моя проблема! Спасибо

РЕДАКТИРОВАТЬ: в библиотеке есть ошибка. Пожалуйста, найдите ссылку на исправленный код ниже в комментариях к ответу. Спасибо.

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010

Глядя на документы удалить функцию , кажется, что вы должны передавать itemId не фактический объект элемента при вызове.

2 голосов
/ 09 октября 2010

ошибка в библиотеке была в функции удаления.У меня есть следующий скрипт, который удаляет ошибку.Надеюсь, что это помогает людям.:)

http://gist.github.com/589185

...