我想允许用户滚动TextField。一切正常,除了滚动 - 它不会发生。这是代码:
format.size = fontSize;
format.font = font;
format.color = color;
linerNotesText.defaultTextFormat = format;
linerNotesText.wordWrap = true;
linerNotesText.multiline = true;
linerNotesText.background = true;
linerNotesText.backgroundColor = backColor;
linerNotesText.text = text;
linerNotesText.x = x;
linerNotesText.y = y;
linerNotesText.width = width;
linerNotesText.height = height;
linerNotesText.scrollV = 4; // did this to see if it was really set to 4, it was not
linerNotesText.addEventListener(MouseEvent.MOUSE_DOWN, TextMouseClickHandler);
addChild(linerNotesText);
private function TextMouseClickHandler(event:MouseEvent):void
{
linerNotesText.addEventListener(MouseEvent.MOUSE_MOVE, TextMouseMoveHandler);
}
private function TextMouseMoveHandler(e:MouseEvent):void
{
if (linerNotesText.mouseY > e.target.y + e.target.height / 2)
linerNotesText.scrollV++;
else
linerNotesText.scrollV--;
trace("V position = ", linerNotesText.scrollV);
}
V位置始终为1.我注意到maxScrollV也是1.bottonScrollV是5,这是正确的 - 有5行。 scaleX,scaleY和scaleX为1,但scrollRect为null。那是问题所在吗?
答案 0 :(得分:0)
事实证明这很简单,虽然我不确定为什么文档指向错误的地方。我所要做的就是改变:
if (linerNotesText.mouseY > e.target.y + e.target.height / 2)
linerNotesText.scrollV++;
else
linerNotesText.scrollV--;
成:
if (linerNotesText.mouseY > e.target.y + e.target.height / 2)
linerNotesText.y++;
else
linerNotesText.y--;
它有效。