Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Дописывание и замена элементов массива, а также сцены (http://www.flasher.ru/forum/showthread.php?t=121188)

ZlobaZl 09.02.2009 21:34

Дописывание и замена элементов массива, а также сцены
 
В массив запихиваю 10 классов. Допустим с течением времени 5 тый элемент Нужно удалить (со сцены из массива). Вопрос 1) как организовать удаление данного класса из массива котором он лижыт и со сцены ролика?


2) Допустим 5того элемента нету как записать на 5тую позицию объект а не в конец?? (если добавляется на пустое место то отлично как тогда в конец добавить?

3) когдато практиковал такую тему как:
Если надо было удалить 5тый объект удалял насамом деле последний элемент а 5тый перемещал на место последнего с передачей всех характеристик. Очень класно получалось т.к. приходилось проверять только реальные объекты а не пустоты) Дак вопрос такой: Имеет смысл делать такое в моем случае? И если имеет то нужно для этого дела делать спеиальную функцию делать или можно обойдись и без таких страстей??

Добавлено через 1 минуту
И в догонку 4) Как очистить полностью массив?


Спасибо заранее) понимаю вопросы из серии песочницы но всетаки буду очень благодарен

Добавлено через 33 минуты
и 5)тый Чем отличается Array от Object когда лучше что использовать? Какие у них особенности?

BlooDHounD 09.02.2009 22:54

1-4) вам нужен метод splice
5) первый наследник второго.

dimarik 09.02.2009 23:45

Цитата:

Сообщение от ZlobaZl (Сообщение 797011)
В массив запихиваю 10 классов

"В 10-м классе запихивал массив". Уточните терминологию.

Работа с массивами представлена классом Array.

Погуглите на тему "Структуры данных" и "Типы данных".

PS. Здесь приветствуется русский язык.

ZlobaZl 10.02.2009 01:30

ыыы что за чудные ответы...)))

мда)

Цитата:

"В 10-м классе запихивал массив". Уточните терминологию.
Ну понятно что со школой не связанно) (если только специально абсурдом не страдать)
В массив записываю объекты в инстанс нейме у них прописан соответствующий класс.

Цитата:

Погуглите на тему "Структуры данных" и "Типы данных".
Погуглить каждый в свое время начнет. Но сюда я написал не для того чтобы меня gotoAndPlayели на гугли.Так, что парни я не понимаю смысл кому то отвечать если вы впринцепе на это не настроенны??? А когда отвечаете лиж бы так как говориться отмазаться то знаете как пливок в рожу, извените... ы нарушение 7го пункта правил блин))
Я понимаю что никто здесь никому не обязан но ненада тогда напрягаться, я (да и многие начинающие) жду нормальных ответов. Или хотябы пошлите на раздел полностью отвечающий на этот вопрос.
А то получается как на вопрос "Как решается эта задача?" получаешь ответ "Легко"


зы Чето меня занесло) в общем BlooDHounD и dimarik не берите на свой счет просто я немного подгеперболизировал тему) Но всеравно кстате никакого развернутого ответа я непрочел) с которой можно завести ту или иную беседу)

ramshteks 10.02.2009 02:32

просто, ты как и многие начинающие, приходят сюда с кучей вопросов на которые уже сотню раз отвечали. Так как ты начинающий то должен был понимать что вопросы возникающие у тебя как у новичка созникали у всех, а отсюда следует что стоит погуглить и найти массу информации по интересующей теме. Поищи на данном форуме здесь все есть. просто не поленись.

ZlobaZl 10.02.2009 04:03

Лана. Буду сам пока уже сам себе отвечать на вопросы. Вы можете просто говорить прильно я понял или нет.

В общем Object как написано сохраняет все ассоциативные элементы, что значит что мы создаем "поле классов" (это мой жаргон по типу поле вещественных чисел и т.д.)) в которые входит множество разных классов. Например вот я делаю игру там присутствуют и турели и космические объекты (такие как астероиды, истребители и т.д.) Мы пишем для Турелей класс Class_tyrel; для астероидов Class_aster; Истребители Class_ship После чего их нада объединить в один мир для чего запихиваем все в общий Object: Object_spase. тот объект будет иметь 3 разных ассоциативных класса Астероидов Турелей Космических кораблей.

В array можно было только 1 тип данных вносить из-за чего случались сложности соединить все в один мир.

Поэтому в данном примере мы используем object.

ТАК?

Долго искал немогу покать как для Object будет выглядить синтаксис добавления?

Яски 10.02.2009 09:10

Нифига не понял, можете не использовать собственный жаргон, а писать так, как принято у всех?
Классы это классы или типы, из классов могут быть созданы инстансы или объекты.
Array отличается от Object тем, что предназначен для хранения множества данных. Array может работать в двух режимах как индексированный массив и ассоциативный массив. В индексированном массиве ключи это числа, в ассоциативном ключи это строки. Object же это динамический класс, т.е. к нему можно добавлять поля прямо во время работы приложения, в этом он схож с ассоциативным массивом, и к полям Object'а можно обращаться через точку, а не обязательно через квадратные скобочки. Еще есть такой класс как Dictionary, ключами которого, может быть объект любого типа. И немного кода.
Код AS3:

// Создаем индексированный массив
var array:Array = new Array();
// Добавление элемента в конец
array.push("one");
// Замена первого элемента
array[1] = "two";
// Удаление последнего элемента
array.pop();
// Получение длины массива
array.length
// Очистка массива
array.length = 0;
 
// Создание ассоциативного массива
array = new Array();
// Добавление элемента
array["one"] = "one";
// Замена элемента
array["one"] = "two";
// Удаление элемента
delete array["one"];
// Получение длины
array.length    // не будет работать для асс. массива
 
// Object или любой другой динамический класс
var object:Object = new Object();
// Добавление элемента
object["one"] = "one"
// Замена элемента
object["one"] = "two"
// Или так
object.one = "two";
// Удаление элемента
delete object["one"];
 
// Dictionary
.........
// А здесь в справку, мне лень писать дальше, в справке все это есть и даже больше.


ZlobaZl 10.02.2009 11:44

Тогда я не понял почему советуется использовать object вместо array? И как тогда будет представляться информация в массиве если в него добавить не просто "one"
или "two" а класс (непонимаю что я не правильно говорю. В общем в моем прецтавлении класс это например если создать мувеклип с идентификатором классом после чего в классе к нему добавляется пара новых придуманных свойств)?


Цитата:

Классы это классы или типы, из классов могут быть созданы инстансы или объекты.
Можете поподробнее объеснить что значит Классы это классы и типы и как из ни х создать инстансы??? (это случаем тоже не "собственный жаргон"???)

BlooDHounD 10.02.2009 12:01

Яски, не знаете - не дезинформируйте человека. ассоциативных массивов во флэше нету.

ZlobaZl, исходя из строчки выше и советуется. так как вам не понадобится функционал класса Array, для создания "ассоциативных" массивов. так как работать он будет совсем не так, как должен. сделать Вы можете обычный хэш. причём, при использовании первого или второго, он будет выглядеть абсолютно одинакового.

dimarik 10.02.2009 12:05

В массив, скорее всего, Вы не классы "запихиваете", а "инстансы или объекты", инстанцированные от класса Class_tyrel и иже с ним.

Цитата:

В общем в моем прецтавлении класс это например если создать мувеклип с идентификатором классом после чего в классе к нему добавляется пара новых придуманных свойств
Так работает наследование.


Часовой пояс GMT +4, время: 16:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.