![]() |
Дописывание и замена элементов массива, а также сцены
В массив запихиваю 10 классов. Допустим с течением времени 5 тый элемент Нужно удалить (со сцены из массива). Вопрос 1) как организовать удаление данного класса из массива котором он лижыт и со сцены ролика?
2) Допустим 5того элемента нету как записать на 5тую позицию объект а не в конец?? (если добавляется на пустое место то отлично как тогда в конец добавить? 3) когдато практиковал такую тему как: Если надо было удалить 5тый объект удалял насамом деле последний элемент а 5тый перемещал на место последнего с передачей всех характеристик. Очень класно получалось т.к. приходилось проверять только реальные объекты а не пустоты) Дак вопрос такой: Имеет смысл делать такое в моем случае? И если имеет то нужно для этого дела делать спеиальную функцию делать или можно обойдись и без таких страстей?? Добавлено через 1 минуту И в догонку 4) Как очистить полностью массив? Спасибо заранее) понимаю вопросы из серии песочницы но всетаки буду очень благодарен Добавлено через 33 минуты и 5)тый Чем отличается Array от Object когда лучше что использовать? Какие у них особенности? |
1-4) вам нужен метод splice
5) первый наследник второго. |
Цитата:
Работа с массивами представлена классом Array. Погуглите на тему "Структуры данных" и "Типы данных". PS. Здесь приветствуется русский язык. |
ыыы что за чудные ответы...)))
мда) Цитата:
В массив записываю объекты в инстанс нейме у них прописан соответствующий класс. Цитата:
Я понимаю что никто здесь никому не обязан но ненада тогда напрягаться, я (да и многие начинающие) жду нормальных ответов. Или хотябы пошлите на раздел полностью отвечающий на этот вопрос. А то получается как на вопрос "Как решается эта задача?" получаешь ответ "Легко" зы Чето меня занесло) в общем BlooDHounD и dimarik не берите на свой счет просто я немного подгеперболизировал тему) Но всеравно кстате никакого развернутого ответа я непрочел) с которой можно завести ту или иную беседу) |
просто, ты как и многие начинающие, приходят сюда с кучей вопросов на которые уже сотню раз отвечали. Так как ты начинающий то должен был понимать что вопросы возникающие у тебя как у новичка созникали у всех, а отсюда следует что стоит погуглить и найти массу информации по интересующей теме. Поищи на данном форуме здесь все есть. просто не поленись.
|
Лана. Буду сам пока уже сам себе отвечать на вопросы. Вы можете просто говорить прильно я понял или нет.
В общем Object как написано сохраняет все ассоциативные элементы, что значит что мы создаем "поле классов" (это мой жаргон по типу поле вещественных чисел и т.д.)) в которые входит множество разных классов. Например вот я делаю игру там присутствуют и турели и космические объекты (такие как астероиды, истребители и т.д.) Мы пишем для Турелей класс Class_tyrel; для астероидов Class_aster; Истребители Class_ship После чего их нада объединить в один мир для чего запихиваем все в общий Object: Object_spase. тот объект будет иметь 3 разных ассоциативных класса Астероидов Турелей Космических кораблей. В array можно было только 1 тип данных вносить из-за чего случались сложности соединить все в один мир. Поэтому в данном примере мы используем object. ТАК? Долго искал немогу покать как для Object будет выглядить синтаксис добавления? |
Нифига не понял, можете не использовать собственный жаргон, а писать так, как принято у всех?
Классы это классы или типы, из классов могут быть созданы инстансы или объекты. Array отличается от Object тем, что предназначен для хранения множества данных. Array может работать в двух режимах как индексированный массив и ассоциативный массив. В индексированном массиве ключи это числа, в ассоциативном ключи это строки. Object же это динамический класс, т.е. к нему можно добавлять поля прямо во время работы приложения, в этом он схож с ассоциативным массивом, и к полям Object'а можно обращаться через точку, а не обязательно через квадратные скобочки. Еще есть такой класс как Dictionary, ключами которого, может быть объект любого типа. И немного кода. Код AS3:
|
Тогда я не понял почему советуется использовать object вместо array? И как тогда будет представляться информация в массиве если в него добавить не просто "one"
или "two" а класс (непонимаю что я не правильно говорю. В общем в моем прецтавлении класс это например если создать мувеклип с идентификатором классом после чего в классе к нему добавляется пара новых придуманных свойств)? Цитата:
|
Яски, не знаете - не дезинформируйте человека. ассоциативных массивов во флэше нету.
ZlobaZl, исходя из строчки выше и советуется. так как вам не понадобится функционал класса Array, для создания "ассоциативных" массивов. так как работать он будет совсем не так, как должен. сделать Вы можете обычный хэш. причём, при использовании первого или второго, он будет выглядеть абсолютно одинакового. |
В массив, скорее всего, Вы не классы "запихиваете", а "инстансы или объекты", инстанцированные от класса Class_tyrel и иже с ним.
Цитата:
|
Цитата:
Кстате тут поразмышлял на тему "определиться с терминологией" Дело в том что в физике есть понятие тело в алгебре тала не используют обычно говорят о объектах. Дак вот объект в моем понимании именно мувиклип с заданным для него классом которое унаследовано от Мувиклипа. Следовательно объект с написанным для него классом это объект (иначе говоря картинка на сцене) который имеет какие то дополнительные параметры. Моя логика использования array основывалась на том что мы записываем как оказалось адреса (идентификаторы (они же классы)) в ячейки этого массива после чего вызовом for each можем пробижаться по всем объектам и просчитать их будующеее. Что же будет (а темболее как что вызывать) в object я так и не понял... |
Цитата:
Класс это абстрактный тип данных, который содержит в себе данные, и методы для их обработки. Идентификатор это просто слово буква набор букв, который ставится в соответствие некоему адресу в памяти на этом адресе может быть все что угодно: Функция, переменная, массив, экземпляр класса. Адрес, блин ну это я обьяснять не буду. Это разные понятия, вы ставите их в одни ряд, это не дело. |
ZlobaZl, всё неправильно. разберитесь в базисах ООП.
|
Мда с этим я соглашусь) что у меня каша в голове по поводу терминологии. Как тогда правильно называется вся эта чехарда?
....Блин уже устал печатать))) В общем смотрите давайте по порядку: 1) Мы создаем Мувиклип в библиотеке флэша... -----Это понятно написал? 2) Определяем этому мувиклипу class -------А тут как правильнее называть? 3) Этот класс наследуется от МУВИКЛИПА следовательно к таким параметрам мувиклипа как координаты ширина угол поворота и т.д. т.п., дописываются созданные собою параметры например как в примере про игру - масса, радиус и т.д. -------Про написанное тут что скажете? 4) Изза присвоения мувиклипу класса мы можем говорить о характеристиках этого мувиклипа иметь Массу и Радиус ---- ----||---- 5) После чего мне нужно создать несколько (тут незнаю как назвать (либо экземпляры либо незнаю что...)) допустим экземпляров данного объекта с харакеристиками Массы и Радиуса. Путем цикла я создаю каждый раз новый Такой мувиклип. --------?????? Далее как я понимал и делал раньше 6) Так как этих объектов имеется некоторое количество то мне нада их как то перебирать для вызова какой ни будь функции для этого я раньше записывал все эти объекты в массив array а потом перебирал все объекты массива и выполнял нужное действие. Теперь собствено прокоментировать где я намудрил и где как правильнее написать? |
да узнайте Вы уже хоть, что-нить о ООП. как будто Вам 12 лет, и Вы в 5 классе на уроке литературы оправдываетесь за непрочитанную книгу.
Может Вы и понимаете, КАК оно работает, но ЧТО оно, Вы пока не пытались понять. |
Тут было всякое понаписано)) после чего я нашел дэжавюшку мука пшел читать))) потом вернемся к вопросам ;)
|
Я думаю, ZlobaZl, Вы согласитесь с тем, что к любой беседе, дабы она была интересной, стоит подготовиться. Никто не выгоняет Вас с форума, Боже упаси. Более того, все, кто отвечал здесь - в той или иной мере заинтересованы и хотят Вам помочь. Проявите, пожалуйста, терпение и понимание, и тогда мы сможем говорить на одном языке и приносить друг-другу пользу. За 5 минут никакие "более интересные собеседники" не объяснят Вам все от начала и до конца.
Поэтому, подготовьтесь и побеседуем Хари Кришна ЗЫ Вообще хотелось бы узнать, что именно Вы хотите сделать и какой путь решения предполагаете? Будет проще Вам помочь, если Вы будете задавать конкретные вопросы |
| Часовой пояс GMT +4, время: 17:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.