我正在尝试测试KineticJs并学习它,所以我从基础开始。我不得不说我不太喜欢JDocs。无论如何,我想在点击舞台时隐藏并在舞台上显示一个图层。所以我写了以下
window.onload = function (){
stage = new Kinetic.Stage({
width:800,
height:600,
container:'container'
});
console.log(backgroundLayer);
console.log("successfully created stage")
stage.add(backgroundLayer);
console.log("Added layer to stage");
stage.on('click', function(){
console.log("In click function")
if (backgroundLayer.visible){
console.log("backgroundLayer is visible, Make it go away Mommy!")
backgroundLayer.hide();
stage.draw();
console.log(stage);
}else{
console.log("Daddy I want a backgroundLayer, NOW!!")
backgroundLayer.show();
stage.draw();
}
});
}
但点击功能只能使用一次。在图层消失之后,我无法在舞台上再次点击。是否必须这样做,图层是屏幕上添加的唯一图层?它是如何工作的?
答案 0 :(得分:0)
我对KineticJS一无所知,但我确实知道JS。变量backgroundLayer来自哪里?无论如何,请尝试下面的代码,并用正确的参数替换alpha参数以更改不透明度。我想你不能在一个隐藏的对象上有一个click事件,也许它可以使用一个仍然存在但是不透明度为0的对象......
window.onload = function (){
stage = new Kinetic.Stage({
width:800,
height:600,
container:'container'
});
stage.add(backgroundLayer);
stage.on('click', function(){
backgroundLayer.alpha = backgroundLayer.alpha <= 0 ? 1 : 0;
stage.draw();
});};