2014-07-15 76 views
0
看不見的文本字段

我目前工作的一個遊戲在ActionScript 3(使用FlashPunk),並由於計劃生育的限制,在處理輸入(〜,^,A等),我最後不得不使用AS 3的本地TextField類。通過我捕捉文本,將它發送給FlashPunk中的一個實體,並使其將文本呈現爲圖形(用於文本氣球)。可交互和FlashPunk

我的問題是:有沒有辦法使TextField對象不可見但仍然可以交互?我想要做的是:使TextField對象具有焦點,而用戶不必點擊它(並且它不能出現在屏幕,也不是它的文本,但它必須捕獲鍵入的文本)。它是否通過純粹的代碼可行?提前致謝。

+0

回答會有所不同。這是什麼平臺? – BotMaster

+0

瀏覽器應用程序,目前正在使用FireFox進行測試,出於某種原因,我無法在Chrome上運行它。使用FlashBuilder 4.7。 – John

回答

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 = ""; 
+0

哦,是的,實際上並沒有想到(減少寬度或與字體玩弄)。 我確實嘗試過stage.focus(myTextField),雖然它當時沒有工作,但我記得我得到一個異常,我猜我會研究它,謝謝! :) – John

+0

將adobe的'stage.focus'的語言引用添加到帖子中,希望它有所幫助。 – Pimgd

+0

好吧,我與此合作並最終完成了重點工作。現在,在發送消息或在其他地方單擊鼠標後,它將焦點返回到文本字段。然而,一旦節目啓動,我不能在文字領域獲得關注。 我已經讓它專注於每次更新,但至少需要在其他地方點擊一下才能使用。我知道這不是一個很大的痛苦,但是讓它開始專注是件好事。以前的答案對這種方式非常有幫助(即使文本是空的,似乎焦點仍然有效[「」])。 – John