看板 Flash 關於我們 聯絡資訊
小弟最近寫了一個線上打字程式 大致上已經撰寫完成,但是昨天測試時發現一件事 在選好中打試題或英打試題後,在打字提示的訊息,要求使用者按下「空白」鍵 即可以開始進行,但是若按下的空白是「全形空白」 則組件的外框則會不見(例如:button、comboBox) 在Flash軟體下實際測試,按下全形空白,會出現下面的錯誤訊息 TypeError: Error #2007: 參數 child 不能是 Null。 at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground() at fl.controls::LabelButton/fl.controls:LabelButton::draw() at fl.controls::Button/fl.controls:Button::draw() at fl.core::UIComponent/::callLaterDispatcher() 小弟打字提示那個關鍵影格的程式碼如下: stop(); //設定roo變數為根場景root var roo=root; var instruct="現在準備開始進行英文打字測驗\n"; instruct=instruct+"注意別打錯字,打錯一個字元\n倒扣"+roo.losePoint+"個打擊數 \n"; instruct+="\n請按下空白鍵,立即開始測驗"; var i=0; var textTimer=new Timer(50,instruct.length); instruction_txt.autoSize=TextFieldAutoSize.LEFT; function setText(event) { instruction_txt.appendText(instruct.charAt(i)); i++; } textTimer.addEventListener(TimerEvent.TIMER,setText); textTimer.start(); function pressSpace(event) { if (event.keyCode==Keyboard.SPACE) { textTimer.stop(); play(); /*====================移除偵聽及元件====================*/ textTimer.removeEventListener(TimerEvent.TIMER,setText); stage.removeEventListener(KeyboardEvent.KEY_DOWN,pressSpace); /*======================================================*/ } } stage.addEventListener(KeyboardEvent.KEY_DOWN,pressSpace); 最後附上程式的網址: http://61.227.187.39/ 帳號:12345 密碼:abcde 麻煩高手解答,感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.187.39
sextitanic:那如果加一行判斷使用者輸入的是全形還是半形空白 10/24 03:59
sextitanic:如果是全形的,那就把它轉成半形的可以嗎 @@? 10/24 03:59
sextitanic:像是: if(event.keyCode == 229){ 10/24 03:59
sextitanic:event.keyCode = Keyboard.SPACE;} 10/24 04:00
sextitanic:229 是全形空白的 keyCode 10/24 04:00
ysbh:試了一下,全形空白好像不是229 10/24 14:22
ysbh:當 trace(event.charCode)時,發現全形空白是0 10/24 14:22
ysbh:後來我寫了 if(event.charCode==0){ event.charCode=32 ;} 10/24 14:23
ysbh:發現還是不行~ 10/24 14:23
sextitanic:喔喔,我 trace 的是 keyCode,不是 charCode 10/25 08:02
ysbh:發現這麼做,可以用全形空白執行,敘述中play() 10/25 08:42
ysbh:但是一樣會出現錯誤的訊息~ 10/25 08:42