0

使用 javascript 和 Easeljs lib 和 createjs,我需要一些帮助。我的程序画了一些圆圈并用颜色填充它们。他们也使用 Ticker 移动,并且使用一些 if 语句,它们从窗口的墙壁上弹跳。圈子是动态创建的,圈子的数量每次都不同。

现在我需要实现一个功能,以便当你按下它们时圆圈会放大。它们的半径应该每 30 毫秒增加 1px。我不知道该怎么做。1.你是否使用onPress?我需要使用哪些回调,我将如何确定鼠标是否被释放并且圆圈是否可以停止增长?2. 我需要从我的 circlesArray 中删除 circleObject 还是从舞台上删除它并再次绘制它们就足够了?我迫切需要帮助,如果有人能给我一些线索,我会很高兴!

问候 T

4

1 回答 1

0

根据您提供的信息,我建议您查看 github 上的这个 EaselJS 示例:https ://github.com/CreateJS/EaselJS/blob/master/examples/DragAndDrop_hitArea.html onPress-Method 用于您可能几乎可以照原样复制的方式。

你的可能看起来像这样:

function(target){
    target.onPress = function(evt) {
        target.grow = true; //or a grow-factor or so
        evt.onMouseUp = function(ev) {
            target.grow = false;
        }
    }
}(circle);

并在您的刻度功能中查看所有圆圈,检查它们grow==true并增加它们的半径(如果是)

和2:你的circleObjects都是对的createjs.Shape吗?您不必从舞台或数组中删除它们,您可以使用circle.graphics.clear();然后重新绘制具有新半径的圆。

于 2013-01-29T23:44:24.187 回答