我目前正在使用AS3编写一个纸牌游戏,并且正在使用一个数据对象来存储卡数据(电影剪辑对象、卡片值和纸牌套装)。下面的代码(aceOfHearts是我的库中影片剪辑对象的名称):
var aceOfHeartsCard:Object = {cardObject: aceOfHearts, faceValue: "ACE", suit: "HEARTS"};我对这副牌中的所有52张牌都这样做。然后,我将这些对象中的每个对象推入一个数组中,我使用该数组来洗牌和发牌。下面的代码。
cardArray.push(aceOfHeartsCard);在这一点上,一切正常。我可以引用cardArray.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.有人能解释一下我做错了什么吗?
发布于 2016-07-21 08:44:17
啊哈!事实证明,我所需要做的就是编辑上面发布的第一行代码,并在我的电影剪辑名称之前添加单词"new“。
var aceOfHeartsCard:Object = {cardObject: new aceOfHearts, faceValue: "ACE", suit: "HEARTS"};https://stackoverflow.com/questions/38492852
复制相似问题