Я действительно удивляюсь. Я сделал класс MovieClip Apple, я написал функцию, которая создает новый экземпляр с именем «яблоко». Каждый раз, когда новый экземпляр помещается в «Яблоки» массива. Я вызываю функцию 5 раз, и я получаю 5 яблок. Я могу манипулировать ими, называя их, то есть яблоки [0]. И когда я прослеживаю свой массив, я вижу вещи 5 [object Apple]. Так что, может быть, я действительно не понимаю структуру объектов AS3, но не должен каждый объект иметь имя?имена экземпляров класса AS3
Когда я устанавливаю apple.name и получаю массив с 5 различными именами, я не могу манипулировать объектами по именам, например apple1.x = 10. Как компьютер знает, какое яблоко есть где, если у каждого есть собственные координаты? Это единственный способ назвать их: яблоки [0] -пары [4]? И если я создам код, который должен быть таким же для всех яблок, как мне обратиться к функции, к «этому»? Причина, когда я пишу код класса, пока у меня пока еще нет имен ...
Например, если я хочу сделать Apple class picture (MovieClip), который можно перетащить, создайте любое количество яблок, до миллион, я не могу добавить яблоки [0] .addEventListener, apples [1] .addEventListener ... apples [1000000] .addEventListener к коду. Как сделать его глобальным?
Я спрашиваю причину, когда я непосредственно кодирую конкретный экземпляр, он имеет имя, и я точно знаю, что я адресую. И работая с классом и создавая множество объектов, я вроде бы не ... Извините, я зеленый
Я думаю, что это хороший пример, чтобы получить ОП прокатки[email protected], свойство «name» всех экземпляров DisplayObject, не совпадает с именем переменной в вашем скрипте перед компиляцией. В вашем примере хранения объектов в массиве AS3 знает, где находятся объекты и поддерживает ссылку на них через ваш массив. Скажем, массив находится по адресу 0, а каждый объект - 20 байтов, объект один - в 0, второй объект - по адресу 20, третий - по адресу 40 (обычно этот вопрос обсуждается с C, но теория по-прежнему применяется к AS3) , Здесь показаны способы получения var. – shaunhusain
Также следует отметить, что если вы пишете метод внутри класса (скажем, вы пишете метод в классе Apple), тогда «это» означает текущий экземпляр, поэтому вместо написания кучки кода «снаружи» экземпляров, которые действуют на них вы можете инкапсулировать этот код в методы в определении класса. – shaunhusain
Очень приятно и просто, спасибо! Я попробую и скажу вам, если это сработает. Кроме того, это своего рода способ получить конкретное яблоко из рой? Если я хочу щелкнуть один из них и вместо видимого применить функцию marryMe и изменить ringPutOn = true, а также изменить цвет на розовый и остановить его от того, что делают другие яблоки, это будет особенным, это нормально? (что такое perv XD) Это не изменит весь класс? Или вы скорее рекомендуете создать новый класс, который будет представлять жену-яблоко, и изменить его на новый? – SherWood