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>

编辑:这里是卡片组件的方向?对于每张卡片,我们希望能够显示卡片的正面或背面。这意味着每张卡都应该有一个位置来存储有关显示为正面的文件以及显示为背面的文件的信息。

为此,请在 Card 组件中创建两个变量来存储文件名。您可以将这些变量称为frontFile 和backFile。

现在让我们考虑一下我们的卡片需要的方法。再看一下应用程序文件。请注意,该应用假定它可以调用名为

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

这意味着您需要为每个调用定义公共函数。当您使用它时,请继续定义一个名为 turnDown 的函数。

在函数 makeCard 中,使用花色和数值输入来构造文件名以用于这张卡片的正面。将 frontFile 属性设置为此文件名。您可能还想设置 backFile,这对所有卡片都是相同的。

在函数 turnUp 中,只需将卡片的源属性设置为存储在其 frontFile 属性中的任何字符串。

在函数 turnDown 中,将卡片的源属性设置为存储在其 backFile 属性中的任何字符串。

在 turnOver 中,您需要查看显示的是哪个文件,并更改源以显示卡片的另一面。

4

0 回答 0