在这里创建noob,
我正在尝试创建一个类,当你传入一个形状时,它可以让你根据鼠标位置向上或向下缩放一个对象。
beeSyrup.Scaler = function(obj){
console.log("hi from scaler");
if (not(obj) || !obj.on) return;
obj.addEventListener("pressmove", function(e){
obj.cursor = "alias";
mouseX = e.stageX;
mouseY = e.stageY;
var lastMouseX = mouseX;
var lastMouseY = mouseY;
if (lastMouseX < mouseX && lastMouseY < mouseY){
obj.scaleX += .1;
obj.scaleY += .1;
}else{
obj.scaleX -= .1;
obj.scaleY -= .1;
}
stage.update();
});
}
目前,这会将其缩小一次,但一旦缩小,您只能向上扩展。正确的if语句逻辑如何工作?
答案 0 :(得分:1)
在您的代码中,mouseX
和lastMouseX
始终相同,因为您在比较之前设置lastMouseX = mouseX
(同样为Y
值也是如此)。因此,else
条件始终满足,因此它将始终缩小。
您可能希望更改其他许多内容以便以用户友好的方式进行操作,但这是您当前的问题。
这是一个非常粗略的JSFiddle,让你开始走正确的道路:http://jsfiddle.net/9zu9jpvx/