1
我是JS和KineticJS的新手,想知道是否有人可以帮助我理解Kinetic.Stage节点的工作原理。我已经使用this tutorial作为起始位置 - 但希望能够通过单击按钮将对象(例如新的Kinetic.Text()或新的Kinetic.Group())追加到现有舞台上。kineticjs添加元素到舞台
我想要做的一个例子是在画布旁边有一个窗体,允许用户输入文本,单击“去”,并让“输入的文本”出现在画布内。
我试图申报“无功阶段”的的document.ready内,在全球范围内,想我可以从一个函数内部访问阶段,例如:
function writeTextToStage(stage) {
var text = new Kinetic.Text({
x: 190,
y: 15,
text: 'Simple Text',
fontSize: 30,
fontFamily: 'Calibri',
textFill: 'green'
});
var layer = new Kinetic.Layer();
layer.add(text);
stage.add(layer);
stage.draw();
}
window.onload = function(){
var stage = new Kinetic.Stage({
container: "designer",
width: 578,
height: 520
});
var go = document.getElementById('go');
go.addEventListener('mousedown', writeTextToCanvas(stage);
};
不管怎么说,如果“stage”对象是在另一个函数中声明的 - “initStage()”,是否有可能在初始化阶段节点之后获取它以附加事物?我尝试通过DOM元素$('kineticjs-content')。children()[0]来访问它。
请协助。 kineticjs.com上的文档不是很详细。 谢谢!
最后一行缺少括号 - 'go.addEventListener(“鼠标按下”,writeTextToCanvas( stage));' – Nucleon
谢谢,非常感谢帮助,但是代码或多或少只是我想要做的一个例子,而不是我正在使用的代码。我更加好奇它是否可以在创建阶段后添加图层。 –
你想追加什么舞台,为什么?上面的代码看起来很好(除了缺少的括号),所以不知道你在这里做什么。 – Ani