-1

私は AS3 の初心者で、簡単な UI をやっています。いくつかのオプションを含むドロップダウン リストを作成したいと考えています。ドロップダウンリストを作成するための何百行ものチュートリアルをたくさん読みました。本当に?ドロップダウン リストに 100 行?シンプルな種類の HTML SELECT を作成したいだけです。また、機能するチュートリアルを知っている場合。

この種の質問で本当に申し訳ありませんが、as3で書かれたものは本当に見つかりません.

Adobeが提供しているものはDropDownListのページAdobeリファレンスですが、その例はXMLを使用しています。

4

3 に答える 3

1

純粋な AS3 ベースのクラス:

package
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.TimerEvent;
    import flash.utils.Timer;

    import com.greensock.*;
    import com.greensock.easing.*;

    public class MouseOverMenu extends MovieClip {

        public var _sMouseOver:MovieClip;
        public var _sMenu:MovieClip;

        private var _menuTimer:Timer;
        private var _menuOpen:Boolean = false;

        public function MouseOverMenu():void {
            addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
        }

        private function init(e:Event):void {

            _sMouseOver.buttonMode = true;
            _sMouseOver.addEventListener(MouseEvent.MOUSE_OVER, showMenu, false, 0, true);
            _sMouseOver.addEventListener(MouseEvent.MOUSE_OUT, startClose, false, 0, true);
            _sMouseOver.addEventListener(MouseEvent.MOUSE_OVER, cancelClose, false, 0, true);

            _menuTimer = new Timer( 50 );
            _menuTimer.addEventListener ( TimerEvent.TIMER, doCloseMenu );

            _sMenu.visible = false;
            _sMenu.alpha = 0;
            _sMenu.addEventListener(MouseEvent.MOUSE_OUT, startClose, false, 0, true);
            _sMenu.addEventListener(MouseEvent.MOUSE_OVER, cancelClose, false, 0, true);
        }
        private function showMenu(e:MouseEvent):void {
            _menuOpen = true;
            _sMenu.visible = true;
            TweenLite.to(_sMenu, .5, {y:73, alpha:1});
        }
        private function startClose ( e:Event ):void {
            //trace('startClose ' + e.target);
            _menuTimer.start();
        }
        private function cancelClose ( e:Event ):void {
            //trace('cancelClose ' + e.target);
            _menuTimer.stop();
        }
        private function doCloseMenu ( e:Event ) {
            closeMenu();
        }
        private function closeMenu ():void {
            if ( _menuOpen ) {
                TweenLite.to(_sMenu, .5, {y:50, alpha:0, onComplete: hideMenu});
            }
            _menuTimer.stop();
            _menuOpen = false;
        }
        private function hideMenu():void {
            _sMenu.visible = false;
        }
    }
}
于 2012-11-16T13:43:57.323 に答える
0

あなたが言及した例でXMLが使用されているとは思いませんが、とにかくこれは、ArrayCollectionを使用するFlexのドロップダウンリストの単純なコードです。

 <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2009/03/07/using-the-dropdownlist-in-flex-gumbo/ -->
    <s:Application name="Spark_DropDownList_test"
            xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark"
            xmlns:mx="library://ns.adobe.com/flex/mx">
        <s:layout>
            <s:BasicLayout />
        </s:layout>

        <s:DropDownList id="dropDownLst"
                requireSelection="true"
                horizontalCenter="0" top="20">
            <s:dataProvider>
                <s:ArrayList source="[The,quick,brown,fox,jumps,over,the,lazy,dog]" />
            </s:dataProvider>
        </s:DropDownList>

    </s:Application>
于 2012-11-16T11:44:49.107 に答える
0

MXML を使用したくない場合は、コードで実行できます。

yourDropDownInstance.dataProvider = new ArrayCollection(["The","quick",
                                                         "brown","fox",
                                                         "jumps","over",
                                                         "the","lazy","dog"]);
于 2012-11-16T13:42:13.283 に答える