![]() |
Добавление на передний план экзмпляров 1 класса
Приветствую, прошу снова вашей помощи....
Есть куча одинаковых экземпляров 1го класса(без имен) движущихся по сцене, нужно перемещать на передний план (swapChildren) те объекты которые находятся ниже всех остальных по оси Y. При попытке это сделать выдает ошибку. В EnterFrame пишу: Код AS3:
Код:
Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта. |
Код AS3:
Код AS3:
а параметры swapChildren должны быть в одном контейнере, как понимаю |
Тогда сразу вопрос возникает, если я буду проводить эту процедуру из главного класса на котором все и находится.. как я могу обратится к экземплярам класса с объектами выше указанным образом? Ко всем обращусь без проблем.. Enemy.enAll[q] (массив статический), а вот к 1 экземпляру который пересекся с остальными как? (Enemy.enemys.y ? если public static var enemys = this; таким образом не выходит)
|
Зачем здесь вообще swapChildren? Чем не подходит addChild?
|
подходит наверно(если позиция экземпляров будит находится на том же месте после добавления), только беда с обращением к переменным условия.
|
Насколько я понял Ваш код, здесь должно быть обращение к контейнеру, содержащему всех этих врагов:
Код AS3:
Добавлено через 1 минуту И да.. В будущем никогда так не делайте. Просто запомните, что нельзя. Почему, поймете когда-нибудь попозже. |
Спасибо, все получилось =)
|
Цитата:
|
Я итак уже прослыл здесь писателем-моралистом. Если Вы чувствуете в себе силы объяснить, как переписать всю игру с учетом тру ООП человеку, еще не очень-то понимающему, что в его собственном коде this, что контейнер, и кто что должен делать даже с синтаксической точки зрения — то просто сделайте это. Я объяснил ошибку кода и сделал приписку об ошибке подхода (архитектуры). Распинаться в n-надцатый раз на пяти страницах все о том же "дети и родители" уже не хватает задора))))
Как можно прочитать сообщение со словами "никогда так не делайте" как рекомендацию "сделать именно так", я не знаю. Я лишь показал, чего тут не хватает в смысле языка, синтаксиса если хотите. |
Все правильно иногда нужно объяснять на том же уровне на котором задан вопрос))
В итоге все свелось к элементарным нескольким строчкам. Код AS3:
|
| Часовой пояс GMT +4, время: 03:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.