首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >createJS标签测试

createJS标签测试
EN

Stack Overflow用户
提问于 2014-02-14 17:26:35
回答 1查看 842关注 0票数 0

我试图在createJS标签上注册一个命中测试。

我有两个问题:

1)从下面的图片中你可以看到,只有当我悬停在红色球上时,才能注册点击测试,而不是标签。我认为这是因为球的大小要大得多。我怎样才能被标签击中测试呢?

2) CreateJS文档,http://www.createjs.com/tutorials/HitTest/hitTest.html,显示我需要将hitTest事件放入勾选中。我不想把它放在那里,因为我不希望浏览器总是浪费资源来检查是否成功。我能把hittest代码放在类似于jQuery doc ready的地方吗?

代码语言:javascript
复制
stage = new createjs.Stage("demoCanvas");
stage.mouseMoveOutside = true;

circle = stage.addChild(new createjs.Shape());
circle.graphics.beginFill("red").drawCircle(50,50,50);
circle.x = 0;
circle.y = 0;

mylabel = new createjs.Text("testing", "14px Arial", "white");
mylabel.x = 300;
mylabel.y = 100;
stage.addChild(circle, mylabel);                


function tick(event) {  
    if (circle.hitTest(stage.mouseX, stage.mouseY)) { 
        log("ball hit"); 
    }
    if (mylabel.hitTest(stage.mouseX, stage.mouseY)) { 
        log("label hit"); 
    }
    stage.update(event);    
}       

EN

回答 1

Stack Overflow用户

发布于 2014-02-17 09:05:47

  1. 看起来问题是,您在.hitTest()中使用全局坐标,而它需要本地坐标。使用globalToLocal或localX/Y (在最近的EaselJS构建中)转换鼠标位置。
  2. 您可以随时运行hitTest。它可以在鼠标移动,点击,在一个计时器-任何对你的应用程序有意义。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21785739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档