编译器错误-如何将数据对象中的电影剪辑添加到后台?AS3



我目前正在使用AS3编程一个纸牌游戏,并使用一个数据对象来存储纸牌数据(电影剪辑对象、纸牌值和纸牌套装)。下面的代码(aceOfHearts是我库中电影剪辑对象的名称):

var aceOfHeartsCard:Object = {cardObject: aceOfHearts, faceValue: "ACE", suit: "HEARTS"};

我这样做是为了牌组中的所有52张牌。然后,我将这些物体中的每一个推入一个阵列,我用它来洗牌和发牌。下面的代码。

cardArray.push(aceOfHeartsCard);

在这一点上,一切都很好。我可以引用cardArray[0]。faceValue,它将正确返回"ACE"等。然而,当我尝试使用以下代码将电影剪辑对象添加到舞台时:

cardArray[0].cardObject.x = 0;
cardArray[0].cardObject.y = 0;
addChild(cardArray[0].cardObject);

我得到这个错误:

TypeError: Error #1034: Type Coercion failed: cannot convert aceOfHearts$ to flash.display.DisplayObject.

有人能解释一下我做错了什么吗?

啊哈!事实证明,我所需要做的就是编辑我在上面发布的第一行代码,并在我的电影剪辑名称之前添加"新"一词。

var aceOfHeartsCard:Object = {cardObject: new aceOfHearts, faceValue: "ACE", suit: "HEARTS"};

相关内容

  • 没有找到相关文章