首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adobe Animate CC

Adobe Animate CC
EN

Stack Overflow用户
提问于 2017-07-05 01:25:09
回答 1查看 59关注 0票数 2

TypeError:错误#1034:类型强制失败:无法将"Um1“转换为flash.display.MovieClip

Um1、Um2、Um3.....舞台中的MovieClip对象

代码语言:javascript
复制
var Um: Array = new Array();
for (var i: int = 0; i < 10; i++) {
  Um[i] = "Um" + Number(i + 1);
}

this.addEventListener(Event.ENTER_FRAME, HitUm);
function HitUm(event: Event) {
  for (var i: int = 0; i < 10; i++) {
    if(MovieClip(Um[i]).hitTestObject(car_mc.rabond_mc)) {
      trace(Um[i]);
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2017-07-05 01:36:10

下面这一行:

代码语言:javascript
复制
Um[i] = "Um" + Number(i + 1);

正在用字符串值填充您的Um数组。您稍后将该值用作MovieClip (其实不然),因此您会得到该错误。您的对象行最有可能是"Um1“、"Um2”等,而它应该是“trace(Um[i]) MovieClip”。

假设您的实例名称与您试图获取引用的范围相同,则可以执行以下操作之一。

使用getChildByName

代码语言:javascript
复制
Um[i] = getChildByName("Um" + (i + 1));

或者像字典一样使用当前时间线(this):

代码语言:javascript
复制
Um[i] = this["Um" + (i + 1)];    
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44911429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档