2015-09-25 7 views
0

Когда я настраиваю текст как ссылку, устанавливаю границу границ и устанавливаю область попадания в форму границ, моя область попадания отключена, если textAlign = 'center'. Есть идеи?В createjs textAlign Center Причинение смещения области удалений

var linkColor = "#0000ff"; 
var linkFont = "bold 14px Times"; 

var presentationLink = new createjs.Text("View Presentation", linkFont, linkColor); 
presentationLink.textAlign = "left"; 
presentationLink.maxWidth = 170; 
presentationLink.x = 300; 
presentationLink.y = 125; 
stage.addChild(presentationLink); 

var plBounds = presentationLink.getTransformedBounds();

var s = new createjs.Shape().set({ x: plBounds.x, y: plBounds.y + plBounds.height }); 
s.graphics.s(linkColor).moveTo(0, 0).lineTo(plBounds.width, 0); 
stage.addChild(s); 

var hitAreaForPLink = new createjs.Shape(new createjs.Graphics().beginFill("#ffffff").drawRect(-10, -10, plBounds.width + 20, plBounds.height + 10)); 
presentationLink.hitArea = hitAreaForPLink; 

stage.enableMouseOver(); 

presentationLink.on("mouseover", function() { 
    presentationLink.cursor = "pointer"; 
}); 
+0

Как в стороне, вам не нужно указывать курсор на мыши. Это именно то, что делает 'cursor' (установить курсор, который будет применяться при наведении курсора мыши). – gskinner

ответ

1

hitArea размещается в соответствии с его системой координат. То есть все преобразования владельца применяются к hitArea. Это так, что если вы должны были оживить владельца, hitArea будет отслеживать его, как ожидалось.

Поскольку преобразование уже применяется, вам необходимо использовать getBounds, а не getTransformedBounds. См. Этот пример: http://jsfiddle.net/gskinner/uagv5t84/2/

+0

Спасибо, я посмотрю. Я все еще довольно новичок в использовании HTML5 Canvas и набора createJS. Если вы создатель createjs, спасибо за всю вашу работу. Это чрезвычайно полезный инструмент! –

Смежные вопросы