我目前正在使用AS3编写纸牌游戏,并且正在使用数据对象来存储纸牌数据(电影剪辑对象,纸牌值(value)和纸牌套装)。下面的代码(aceOfHearts是库中我的影片剪辑对象的名称):
var aceOfHeartsCard:Object = {cardObject: aceOfHearts, faceValue: "ACE", suit: "HEARTS"};
我正在为卡片组中的所有52张卡片执行此操作。然后,我将这些对象中的每一个 push 一个数组中,以用于洗牌和发牌。下面的代码。
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.
有人可以解释我在做什么错吗?
最佳答案
啊哈!事实证明,我要做的就是编辑上面发布的第一行代码,并在影片剪辑名称之前添加单词“new”。
var aceOfHeartsCard:Object = {cardObject: new aceOfHearts, faceValue: "ACE", suit: "HEARTS"};
关于object - 如何将数据对象内的影片剪辑添加到舞台上? AS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38492852/