У меня постоянно работает следующая функция для проверки столкновения между контролируемым игроком шаром (mcBall) и несколькими стенами (метко названными mcWall1, mcWall2 и т. Д.): (Переменная numberofwalls получает свое значение в каждой отдельнойкадр, в котором имеется разное количество фрагментов ролика.)
function checkcollision(evt:Event) : void {
for(var i = 1; i <= numberofwalls; i++){
if (mcBall.hitTestObject("mcWall"+i) == true){
killball()
}
}
}
}
Однако, когда я делаю это, я получаю следующую ошибку при компиляции:
Сцена 1, Уровень «Действия», Кадр 1, Строка 89 1067: неявное приведение значения типа String к несвязанному типу flash.display: DisplayObject.
Строка 89 выглядит следующим образом:
if (mcBall.hitTestObject("mcWall"+i) == true){
Насколько я понимаю, этодобавить строку и int, но я не понимаю, почему он не просто добавляет целое число в конец строки (например, mcWall1, где i = 1).
Я не могу использовать ("mcWall "[i]), поскольку у меня нет настроенного массива, и я не думаю, что это необходимо для количества стен, которые я буду использовать. Каждой стене статически дается имя экземпляра на сцене, а не в моем коде.
Любое предложениеЧто я могу сделать, чтобы он протестировал mcWall (i)?
Заранее спасибо.