0

ステージにカード画像をセットしようとしています。カードのスーツと値は配列に格納されており、コンポーネントを使用して画像を設定する必要があります。問題が発生している手順の一部を次に示します。「関数makeCardで、スーツと値の入力を使用して、このカードの前面に使用するファイル名を作成します。frontFileプロパティをこのファイル名に設定します。すべてのカードで同じbackFileを設定します。」

主なMXMLファイルコードは次のとおりです。

<fx:Script>
        <![CDATA[

            import spark.components.Image;

            public var suits:Array = ['clubs', 'diamond', 'heart', 'spade'];
            private var values:Array = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'jack', 'queen', 'king', 'ace'];

            private function init():void
            {
                for each (var suit:String in suits) {

                    for each (var value:String in values) {

                        var card:Card = new Card();
                        card.makeCard(suit, value);
                        card.turnDown();
                        card.addEventListener(MouseEvent.CLICK, flipCard);
                        playGrp.addElement(card);

                    }
                }
            }

            private function flipCard(e:MouseEvent):void
            {
                var card:Card = Card(e.currentTarget);
                card.turnOver();
            }

        ]]>
    </fx:Script>

    <s:TileGroup id="playGrp" requestedRowCount="4"
                 horizontalCenter="0" verticalCenter="0"/>

これが私がこれまでに持っているコンポーネントコードです:

<fx:Script>
        <![CDATA[

            //create variables for the front and back
            public var frontFile:String;
            public var backFile:String;

            //create function for making the car
            public function makeCard():void {

                frontFile = "asset/Cards_deck_" + + ".jpg";
                backFile =  "asset/Cards_back_" + + ".jpg";

            }

            //create function for turning the card over
            public function turnUp():void {

            }

            //create function for turning card over
            public function turnOver():void {

            }

            //create function for turning card down
            public function turnDown():void {

            }
        ]]>
    </fx:Script>

編集:ここに指示がありますカードコンポーネントには何が入りますか?カードごとに、カードの前面または背面を表示できるようにする必要があります。つまり、各カードには、前面として表示するファイルと背面として表示するファイルに関する情報を保存する場所が必要です。

これを行うには、カードコンポーネントに2つの変数を作成して、ファイル名を保存します。これらの変数をfrontFileおよびbackFileと呼ぶことができます。

次に、カードに必要な方法について考えてみましょう。アプリケーションファイルをもう一度見てください。アプリは、という名前の関数を呼び出すことができると想定していることに注意してください

makeCard(), passing it Strings to specify the suit and the value for this card
turnUp()
turnOver()

つまり、これらの呼び出しごとにパブリック関数を定義する必要があります。その間、先に進んで、turnDownという名前の関数も定義します。

関数makeCardで、スーツと値の入力を使用して、このカードの前面に使用するファイル名を作成します。frontFileプロパティをこのファイル名に設定します。また、すべてのカードで同じであるbackFileを設定することもできます。

関数turnUpで、カードのsourceプロパティをfrontFileプロパティに格納されている文字列に設定するだけです。

関数turnDownで、カードのsourceプロパティをbackFileプロパティに格納されている文字列に設定します。

次に、どのファイルが表示されているかを確認し、ソースを変更してカードの反対側を表示する必要があります。

4

0 に答える 0