2010-03-26 51 views
0

我有一個矩形內的文本框(Sprite)。該文本適合在矩形內,但是文本字段的實際大小大於精靈的大小。 (字體中看不見的上邊距)actionscript textfield顯示問題

問題是,當我向偵測到鼠標點擊的Sprite添加了一個eventlistener時,即使當我在矩形外單擊時,它也會觸發。我怎樣才能解決這個問題? (以便子對象大小不超過父級大小)

+0

文本字段是靜態的還是動態的? – 2010-03-26 14:15:03

+0

它是「靜態的」.. – simon 2010-03-26 19:25:27

回答

0

如果矩形不是雪碧或MovieClip iteself,將其轉換爲一個,這樣的容器雪碧你有矩形,它上面的文本字段中。給矩形一個實例名稱「base」。首先,像Hwang說的那樣,將容器的mouseChildren屬性設置爲false。之後,將容器的hitArea屬性設置爲矩形。它看起來像這樣:

container.mouseChildren = false; 
container.hitArea = container.base; 
-1
sprite.mouseChildren=false 

也許您還需要使用textfield.selectable=false

textField太高而且widde? 變化

textfield.width=textfield.texhWidth, textfield.height=textfield.textHeight 
+0

這不起作用 – simon 2010-03-26 09:28:25

+0

爲什麼你需要你的文字超過精靈的大小? 可以設置text.width = text.textWidth + 2和text.height = text.textHeight(添加幾個點導致有時它會裁剪一下這個字母) – Hwang 2010-03-26 10:57:52

+0

我猜他寧願不影響顯示文本字段。 – 2010-03-26 14:38:02

0

隨機猜測,也許應用一個面具的精靈將解決這個問題。

var mask:Shape = new Shape(); 
mask.graphics.beginFill(0); 
mask.graphics.drawRect(0,0,recWidth,recHeight); 
sprite.addChild(mask); 
sprite.mask = mask;