我正在使用Flash Pro(CS5)中的Actionscript 3.0進行項目工作。我想創建一個確認框。如果我使用Flex SDK,我可以使用mx.controls包中的Alert類來完成此操作。不過,標準的Flash庫似乎沒有類似的控件,任何Google的搜索引擎都只能讓我參考Flex引用。如何在ActionScript3中創建警報對話框?
3
A
回答
5
試試這個類
package com.whatever {
//Imports
import flash.display.Shape;
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
//Class
public class AlertBox extends Sprite {
//Vars
protected var box:Shape;
protected var yesBtn:Sprite;
//Constructor
public function AlertBox($:Rectangle):void {
//Initialise
box = new Shape()
yesBtn = new Sprite()
addChild(box)
addChild(yesBtn)
//Render
with (box.graphics) {
lineStyle(1)
beginFill(0, 0.4)
drawRect($.x, $.y, $.width, $.height)
endFill()
}
with (yesBtn.graphics) {
lineStyle(1, 0x00FF00)
beginFill(0x00FF00, 0.4)
drawRect($.x+$.width-100, $.y$.height-40, 80, 20)
endFill()
}
//Events
yesBtn.addEventListener(MouseEvent.CLICK, yesClickHandler, false, 0, true)
yesBtn.addEventListener(MouseEvent.MOUSE_OVER, yesOverHandler, false, 0, true)
}
//Handlers
protected function yesClickHandler($):void {}
protected function yesOverHandler($):void {}
0
2
你說,你不能在AS3導入mx.controls使用,但下面應該在Flex 4項目工作:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function init():void
{
Alert.show("This is an Alert!!!");
}// end function
]]>
</fx:Script>
</s:Application>
[更新]
意識到我誤解了這個問題後,我看着在互聯網上爲AS3項目Alert組件,發現如下:
http://developer.yahoo.com/flash/astra-flash/alertmanager/
我會盡我的手創造的Flex框架的警報控制的副本,然後再次更新我的答案。
2
如果你最終的SWF是要在瀏覽器中運行,並有腳本的訪問,你可以只使用JavaScript PopUp Boxes之一:
if(ExternalInterface.available) {
if (ExternalInterface.call("confirm", "Should I trace 'Yes'?")) {
trace("Yes"); // user clicked Okay
} else {
trace("User canceled or the call failed");
}
}
我敢肯定,這將凍結Flash用戶界面循環,直到JavaScript函數會返回,因此請確保在您想要執行的操作時調用它。
相關問題
- 1. 如何在android中創建一個警報對話框?
- 2. 如何在ubuntu的警報對話框中顯示nagios警報?
- 3. 警報對話框?
- 4. 警報對話框
- 5. 如何爲警報對話框創建動畫?
- 6. 如何創建全局警報對話框
- 7. 如何使用單選按鈕創建警報對話框?
- 8. 如何創建完全自定義的警報對話框?
- 9. 無法在陣列適配器中創建警報對話框
- 10. 在React Native函數中創建警報對話框?
- 11. 如何在Android中的片段中創建是/否警報對話框
- 12. 如何檢測在React Native中創建警報對話框的位置android
- 13. 建立與列表警報對話框
- 14. 如何打開「新警報」對話框
- 15. 如何關閉此警報對話框?
- 16. 如何顯示報警對話框android
- 17. 如何返回警報對話框
- 18. 如何結束警報對話框?
- 19. 在Android中的對話框中顯示警報對話框?
- 20. 如何禁用警報對話框關閉,如果在警報對話框中的editText爲空
- 21. 在MonoDroid中隱藏警報對話框
- 22. 在AsyncTask中確認對話框(警報)
- 23. 在警報對話框中顯示textview
- 24. 輸入警報對話框
- 25. Android對話框警報
- 26. android對話框警報
- 27. Tapestry 5警報對話框
- 28. Javafx警報對話框+ HTML
- 29. WP7警報對話框
- 30. jQuery警報對話框
你聽起來困惑。所有的Flex控件都是基於ActionScript 3構建的,不適用於ActionScript 2項目。 mx.controls.Alert類是Flex Framework的一部分,因此是ActionScript 3的一部分。您從未在ActionScript 2項目中使用過該類。 – JeffryHouser
我明白他的意思,因爲我有同樣的問題。在純AS3項目中,mx.controls.Alert不存在(但它適用於Flex項目)。我認爲它曾經存在於AS2中。 – ADB