【问题标题】:javascript easelJs onPress enlarge image circlejavascript easelJs onPress 放大图片圈
【发布时间】:2013-01-12 02:47:42
【问题描述】:

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

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

你好

【问题讨论】:

    标签: javascript callback easeljs createjs


    【解决方案1】:

    根据您提供的信息,我建议您查看 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();,然后用新的半径重新绘制圆。

    【讨论】:

    • 完美,我发现了自己,但这正是我所做的:9
    • 如果一个物体接触到另一个物体,我如何检查 Easeljs?如果选定的圆形对象被另一个对象触摸,我需要得到提醒。怎么做?
    • 圆最简单的方法可能是基于距离的碰撞检测:wiki.starling-framework.org/tutorials/basic_collision_detection(不是JS,但方法相同,基本上是毕达哥拉斯)
    猜你喜欢
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2011-11-21
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 2013-10-21
    相关资源
    最近更新 更多