FlashPunk中的可伸缩和不可见的TextField

时间:2014-07-15 14:50:37

标签: actionscript-3

我目前正在使用ActionScript 3(使用FlashPunk)开发游戏,并且由于FP在处理输入(〜,^,ã等)方面的限制,我最终不得不使用AS 3的本机TextField类。通过我捕获文本,将其发送到我在FlashPunk中的一个实体,并让它将文本呈现为图形(对于文本气球)。

我的问题是:有没有办法让TextField对象不可见但仍然可以交互?我想要做的是:让TextField对象具有焦点而无需用户点击它(它不会出现在屏幕上,也不是它的文本,但它必须捕获打字文本)。它可以通过纯粹的代码吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过stage.focus = textFieldInstance;adobe reference)执行此操作。至于让它看不见......

可以使用各种技巧

  • 将文本字段移出屏幕
  • 将文本字段隐藏在其他内容
  • textfield.width = 0
  • setTextFormat,其字体大小为0 ...

当然,还有textField.visible = false,但是有很多与之相关的东西会破坏我们想要实现的目标。

虽然谷歌搜索我发现有些人只是在使用stage.focus时遇到了麻烦,所以如果这不起作用,试试这个(original source):

myTF.type="input";
myTF.text=" "; //a SPACE or temp "foo" text, but NOT empty !
myTF.stage.focus = myTF; 
myTF.setSelection(myTF.length,myTF.length);
myTF.text = "";