![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Приветствую, прошу снова вашей помощи....
Есть куча одинаковых экземпляров 1го класса(без имен) движущихся по сцене, нужно перемещать на передний план (swapChildren) те объекты которые находятся ниже всех остальных по оси Y. При попытке это сделать выдает ошибку. В EnterFrame пишу: for (var q:int=0; q<Enemy.enAll.length; q++) { if(enAll[q].enemyPositionPoint.y>this.enemyPositionPoint.y) //Массив объектов { // ниже конкретного экзепляра if(oc==false) // данные значения останавливают процесс swapChildren {// и перезапускают в нужный момент swapChildren(this, enAll[q]); // тут ошибка, как исправить? oc=true; } } else { oc=false; } }
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. Последний раз редактировалось iNils; 04.07.2012 в 14:50. |
|
|||||
|
полностью аналогично:
т.е. вы родитель пытаете поменять местами с ребенком. а параметры swapChildren должны быть в одном контейнере, как понимаю
__________________
adobe AS3 manual |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Тогда сразу вопрос возникает, если я буду проводить эту процедуру из главного класса на котором все и находится.. как я могу обратится к экземплярам класса с объектами выше указанным образом? Ко всем обращусь без проблем.. Enemy.enAll[q] (массив статический), а вот к 1 экземпляру который пересекся с остальными как? (Enemy.enemys.y ? если public static var enemys = this; таким образом не выходит)
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. Последний раз редактировалось Tetraeon; 03.07.2012 в 20:35. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Зачем здесь вообще swapChildren? Чем не подходит addChild?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
подходит наверно(если позиция экземпляров будит находится на том же месте после добавления), только беда с обращением к переменным условия.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. Последний раз редактировалось Tetraeon; 04.07.2012 в 00:27. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Насколько я понял Ваш код, здесь должно быть обращение к контейнеру, содержащему всех этих врагов:
this.parent.swapChildren(this, enAll[q]); // или просто забрасываем врага из массива наверх контейнера // this.parent.addChild(enAll[q]); Добавлено через 1 минуту И да.. В будущем никогда так не делайте. Просто запомните, что нельзя. Почему, поймете когда-нибудь попозже.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 04.07.2012 в 01:00. |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Спасибо, все получилось =)
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. |
|
|||||
|
__________________
adobe AS3 manual |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я итак уже прослыл здесь писателем-моралистом. Если Вы чувствуете в себе силы объяснить, как переписать всю игру с учетом тру ООП человеку, еще не очень-то понимающему, что в его собственном коде this, что контейнер, и кто что должен делать даже с синтаксической точки зрения — то просто сделайте это. Я объяснил ошибку кода и сделал приписку об ошибке подхода (архитектуры). Распинаться в n-надцатый раз на пяти страницах все о том же "дети и родители" уже не хватает задора))))
Как можно прочитать сообщение со словами "никогда так не делайте" как рекомендацию "сделать именно так", я не знаю. Я лишь показал, чего тут не хватает в смысле языка, синтаксиса если хотите.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 04.07.2012 в 14:57. |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Все правильно иногда нужно объяснять на том же уровне на котором задан вопрос))
В итоге все свелось к элементарным нескольким строчкам. Работает только с 1м видом экземпляров родительского класса, что странно по логике т.к. в массиве enAll содержатся все экземпляры подклассов (я трейсил). Думаю со временем разберусь. Спасибо за ваше терпение и за любые подсказки в нужном направлении.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. Последний раз редактировалось Tetraeon; 04.07.2012 в 22:22. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|