2013-11-13 2 views
1

Как я заявил в названии, easeljs для меня очень новичок, есть ли способ добавить событие click или eventlistener к объекту, подобному spritesheet для моего случая в холсте, используя фреймворк Easeljs?Как добавить событие Click to spriteSheet с помощью Easeljs?

Я провел довольно много исследований и до сих пор не получил никакой удачи.

ответ

2

SpriteSheet - это просто формат данных, который описывает, как рисовать Sprite (или BitmapAnimation в более ранних версиях).

Вот пример SpriteSheet, взятый из примера на http://createjs.com/Demos/EaselJS/SpriteSheet.html, которые вы можете найти в репозитории GitHub (github.com/CreateJS/EaselJS/)

var data = new createjs.SpriteSheet({ 
    "images": ["images/sprite.png"], 
    "frames": {"regX": 0, "height": 292, "count": 64, "regY": 0, "width": 165}, 
    "animations": {"run": [0, 25, "run", 1.5], "jump": [26, 63, "run"]} 
}); 

После того, как вы есть, что вы можете определить Спрайт.

var sprite = new createjs.Sprite(data, "run"); 
stage.addChild(sprite); 
// In earlier versions (0.6.0 and below), you can not specify a start frame/animation 
sprite.gotoAndPlay("run"); 

Это добавит спрайт на сцену и воспроизведет анимацию «run». Для того, чтобы добавить кнопку мыши, используйте:

sprite.on("click", handleClickFunction); 
// Earlier versions (0.6.0 and below) require the use of addEventListener, which still exists in 0.7.0, but is less friendly 
sprite.addEventListener("click", handleClickFunction); 

Более подробную информацию о поведении мышей можно найти в руководстве на веб-сайте EaselJS. http://createjs.com/tutorials/Mouse%20Interaction/

+0

Спасибо за информацию Lanny! Но похоже, что спрайт не дает никакого ответа, даже я добавил addEventListener, консоль сообщила ** «Не показано Ошибка произошла ошибка. Это, скорее всего, связано с ограничениями безопасности при чтении данных пиксельных данных с локальными или междоменными изображениями. '** – user2986051

+0

Вы загружаете локально (без сервера) или междомен? EaselJS использует пиксельные данные для определения того, что попадает под мышью. При локальной загрузке рекомендуется использовать сервер. Посмотрите на CORS для кросс-домена. – Lanny