如何根据mouseX和mouseY放大和缩小形状

时间:2015-02-09 17:07:25

标签: createjs

在这里创建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语句逻辑如何工作?

1 个答案:

答案 0 :(得分:1)

在您的代码中,mouseXlastMouseX始终相同,因为您在比较之前设置lastMouseX = mouseX(同样为Y值也是如此)。因此,else条件始终满足,因此它将始终缩小。

您可能希望更改其他许多内容以便以用户友好的方式进行操作,但这是您当前的问题。

这是一个非常粗略的JSFiddle,让你开始走正确的道路:http://jsfiddle.net/9zu9jpvx/