![](/img/trans.png)
[英]AS3 error 1119 in platformer game: “Access of possibly undefined property KeyCode through a reference with static type flash.events:Event.”
[英]AS3 error 1119: Access of undefined property CHANGE through a reference with static type flash.events:MouseEvent
這可能是AS3中的錯誤,因為該事件在錯誤中的列表與mouseEvent沒有關聯,但是我真的很想深入了解這一點。 我一直在從事這個項目,並且具有用於3個組合和2個輸入文本字段的搜索功能的動畫片段。 當用戶在文本字段中輸入文本時,我想禁用組合,將所選索引設置為-1。 如果用戶清除文本字段,則希望啟用組合。 CS4拋出上述錯誤。 太奇怪了還是我嗎?
我的代碼:
fltr.btn.addEventListener(MouseEvent.CLICK, shwSrch);
function shwSrch(Event:MouseEvent):void{
popcmb1(); //function to populate combo 1
srch.canNow.button.addEventListener(MouseEvent.CLICK, cans);
srch.srchNow.button.addEventListener(MouseEvent.CLICK, gos);
srch.npt1.it.addEventListener(Event.CHANGE, txtchng);
srch.npt1.it.dispatchEvent(new Event(Event.CHANGE));
}
function txtchng(event:Event):void{
if (srch.npt1.it.length >0){
//DISABLE COMBO AND NPT2
srch.cmb1.cmb.enabled = false;
srch.cmb1.cmb.selectedIndex = -1;
srch.cmb1.cmb.prompt = "All";
cmb1si = gSrch.cmb1.cmb.selectedIndex;
}
else{
srch.cmb1.cmb.enabled = true;
srch.npt1.it.selectable = true;
srch.npt1.it.type = TextFieldType.INPUT;
srch.npt1.it.borderColor = 0x000000;
}
npt1 = srch.npt1.text;
}
因此,當我運行此新添加的代碼時,它將引發錯誤1046:未找到類型或不是編譯時常量:事件。 我已經有了“ import flash.events.Event;”行。 我做了很多實驗,並指出,如果我為偵聽器創建一個單獨的函數,然后使用shwSrch函數從中調用它,則:
function lstnrs():void{
srch.npt1.it.addEventListener(Event.CHANGE, txtchng);
srch.npt1.it.dispatchEvent(new Event(Event.CHANGE));
}
它有效...有誰能對此有所啟發?
問題是您如何命名變量。
function shwSrch(Event:MouseEvent):void
在這里,您將Event
用作參數名稱,這是一個不好的選擇,因為它與Event
類具有的名稱相同。 以后,您添加一個偵聽器。
srch.npt1.it.addEventListener(Event.CHANGE, txtchng);
現在不清楚是要引用類還是參數變量名。 對於后者,您會收到錯誤消息。
要解決此問題,請使用約定以小寫字母開頭的變量名和以大寫字母開頭的類名。
function shwSrch(mouseEvent:MouseEvent):void
旁注:您真的需要在添加偵聽器之后顯示事件,例如此處所示?
srch.npt1.it.addEventListener(Event.CHANGE, txtchng);
srch.npt1.it.dispatchEvent(new Event(Event.CHANGE));
如果您不使用處理函數中的參數,則只需
srch.npt1.it.addEventListener(Event.CHANGE, txtchng);
txtchng(null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.