2009-10-03 41 views
0

我在AS3中有if/else if/else if/else if/else語句。如何使用else if {var in AS3不返回1083錯誤?

這是一個從xml文件讀入日期的日曆。 if/else if/else語句根據是否有事件來控制日期的外觀,以及它是過去/現在還是將來。 MouseEvent是一個顯示事件信息的工具提示。

最後一節是

else { 
var thisday:String = "<b><font color=\"#666666\" size=\"9\"> <u><font size=\"12\"> -</font> " + yy + " <font size=\"12\">-</font> " + GlllStringUtil.checkDigits((mm + 1).toString()) + " <font size=\"12\">-</font> " + i.toString() + " <font size=\"12\">- </font></u></font></b> "; 
myCLabel = new ICLabel(); 
myCLabel.date.htmlText = GlllStringUtil.checkDigits(i.toString()); 
myCLabel.date.background = false; 
myCLabel.date.textColor = "0x666666"; 
myCLabel.date.autoSize = TextFieldAutoSize.CENTER; 
myCLabel.date.selectable = false; 
myCLabel.date.mouseEnabled = true; 
myCLabel.y = 0; 
myCLabel.x = 25 * (i - 1); 
myCLabel.name = i.toString(); 
myCLabel.data = thisday; 
myCLabel.addEventListener(MouseEvent.MOUSE_OVER, myCLabel_mouse_over); 
myCLabel.addEventListener(MouseEvent.MOUSE_OUT, myCLabel_mouse_out); 
calendarHolder.addChild(myCLabel); 
} 

如果我重複這個聲明裏,我收到了1084對,如果{VAR使用別的...

我可以用別人,但後來如果我啓動下一節if/else,而它做我需要的東西 - 外觀被最後一個if/else覆蓋。

我想這樣做,因爲只有一個表示未來日期的表述,這意味着如果有未來的事件 - 它沒有突出顯示。

如何在使用else的情況下重複它if {var,沒有它返回1084?

(任何援助將因爲我有AS3不甚瞭解不勝感激。)

-

更新:

非常感謝你的回覆。

該文件是一個.as文件,並且它相當長,所以我所做的就是將它上傳here 作爲一個.txt文件。還有2個小的gif圖片可以嘗試和展示我想要達到的目標。 (您會注意到(在圖片中)工具提示出現在突出顯示的日期上,但除此之外,未來日期不會突出顯示,因此除非您將鼠標懸停在某個日期之外,否則實際上不能確定是否存在事件。)

我希望那樣可以。

我沒有檢查,以確保在發佈之前我沒有錯過左大括號,但我認爲錯誤超出了我的理解。

+0

非常感謝您的回覆,我在文本文件中添加了更多信息(因爲.as文件可能有點長),並且我已將它添加到最初的問題中。 當發佈.swf文件時,還有其他相應的文件被寫入,但大多數文件都在這個.txt文件中。 – Ina 2009-10-06 04:19:47

回答

4

1084是一個錯誤,指示錯誤的語法。你錯過了關閉支撐或沿着這些線的東西。發佈完整的功能代碼,如果你想得到更精確的答案:)

0

它看起來像你正在改變你下載的庫。我想我理解你的問題,不幸的是,我們很難用確切的解決方案來幫助你。

塊遵循此模式:

if(/*<some condition>*/) { 
    // create a specific type of Label 
} 
else if(/*<another condition>*/) { 
    // create a different type of Label 
} 
else if(/*<yet another condition>*/) { 
    // create yet another type of Label 
} 
else { 
    // create a default type of Label 
} 

這是正路if報表工作。只能有一個else,最後必須正確。它處理當所有的ifelse if條件都不匹配時發生的情況。這有點像「最後的手段」行動。

您在所鏈接代碼的評論中說:「如果沒有NO Events,此塊控制日期的樣子。」並且你想添加一個處理有事件的塊。這意味着你想添加一個新的else if。要做到這一點,你需要提供一個條件。

if(/*<some condition>*/) { 
    // create a specific type of Label 
} 
else if(/*<another condition>*/) { 
    // create a different type of Label 
} 
else if(/*<yet another condition>*/) { 
    // create yet another type of Label 
} 
// Here you need a new condition 
else if(/*<some condition that evaluates to true when there are events>*/) { 
    // create a label styled to show off events 
} 
else { 
    // create a default type of Label 
} 

的代碼是一個有點複雜,比我願意投資,以幫助您確定如何編寫評估爲true,當有該日期的事件在特定日期的條件。但是,與我所顯示的表單匹配的聲明應該可以正常工作並避免1084錯誤。

+0

非常感謝您花時間看我的問題。對於這種遲到的回覆,我表示歉意,答覆通知必須已經進入垃圾郵件。 我實際上已經多次嘗試添加新的陳述,但正如我所提到的,我的知識是有限的。但是你已經證實我認爲可能是這種情況。所以,再次感謝你。 – Ina 2009-11-03 04:13:42