проблема отображения текстового поля Actionscript - PullRequest
0 голосов
/ 26 марта 2010

У меня есть текстовое поле внутри прямоугольника (Sprite). Текст хорошо вписывается в прямоугольник, однако фактический размер текстового поля больше, чем у спрайта. (невидимое верхнее поле в шрифте)

Проблема в том, что когда я добавил в Sprite обработчик событий, который обнаруживает щелчки мыши, он срабатывает даже при нажатии за пределами прямоугольника. Как я могу это исправить? (чтобы размер дочернего объекта не превышал родительский размер)

Ответы [ 3 ]

0 голосов
/ 26 марта 2010

Если прямоугольник сам по себе не является Sprite или MovieClip, преобразуйте его в один, чтобы внутри контейнера Sprite у вас был прямоугольник и текстовое поле над ним. Дайте прямоугольнику имя экземпляра 'base'. Во-первых, как сказал Хванг, установите для свойства mouseChildren контейнера значение false. После этого установите свойство hitArea контейнера равным прямоугольнику. Это будет выглядеть примерно так:

container.mouseChildren = false;
container.hitArea = container.base;
0 голосов
/ 26 марта 2010

Случайное предположение, возможно, применение маски к спрайту исправит это.

var mask:Shape = new Shape();
mask.graphics.beginFill(0);
mask.graphics.drawRect(0,0,recWidth,recHeight);
sprite.addChild(mask);
sprite.mask = mask;
0 голосов
/ 26 марта 2010
sprite.mouseChildren=false

и, возможно, вам нужно использовать textfield.selectable=false.

textField слишком высоко и вайде? изменить на

textfield.width=textfield.texhWidth, textfield.height=textfield.textHeight
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...