Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отличие Sprite от DisplayObject и прочего (http://www.flasher.ru/forum/showthread.php?t=137689)

NBVestal 20.03.2010 11:16

Отличие Sprite от DisplayObject и прочего
 
Чем отличается тип Sprite от DisplayObject ? И вообще, в чём соль этого DisplayObject? При изменения типа объекта со Sprite на DisplayObject разницы никакой не могу увидеть. Может, кто-то разъяснит?

orcpochta 20.03.2010 11:25

http://help.adobe.com/ru_RU/AS3LCR/F...layObject.html

NBVestal 20.03.2010 11:55

Документацию то я читал...просто хотелось бы на конкретном примере, а то не совсем въезжаю

orcpochta 20.03.2010 12:04

Если не въезжаете, то для начала вам надо почитать что-нибудь по общей теории ООП и наследованию)))

asterion 20.03.2010 18:53

В ActionScript 3.0 все появляющиеся на экране в приложении элементы принадлежат к типу экранных объектов. В пакет flash.display входит класс DisplayObject, который является базовым классом, расширяемым рядом других классов. Эти классы представляют разные типы экранных объектов, включая векторные фигуры, фрагменты роликов и текстовые поля.

Если вам необходим объект, который будет служить контейнером для других экранных объектов (рисование на экранном объекте с помощью ActionScript), выберите один из подклассов DisplayObjectContainer:
• Sprite (если объект будет создан только с помощью ActionScript или в качестве базового класса для
заказного экранного объекта, который будет создаваться и обрабатываться исключительно средствами
ActionScript).
• MovieClip (если вы создаете переменную, относящуюся к символу фрагмента ролика, созданному в
инструменте разработки Flash).
• Если вы создаете класс, который будет связан с символом фрагмента ролика в библиотеке Flash, выберите один из указанных ниже подклассов DisplayObjectContainer в качестве базового класса вашего класса:
• MovieClip (если связанный символ фрагмента ролика имеет содержимое более чем в одном кадре)
• Sprite (если связанный символ фрагмента ролика имеет содержимое только в первом кадре)

Все просто.

Crenth 20.03.2010 19:20

Цитата:

Сообщение от NBVestal (Сообщение 894358)
Чем отличается тип Sprite от DisplayObject ? И вообще, в чём соль этого DisplayObject? При изменения типа объекта со Sprite на DisplayObject разницы никакой не могу увидеть. Может, кто-то разъяснит?

вы пришли в автосалон. сели в жигули. там есть руль и колеса.
потом сели в мерседес. там есть руль и колеса.
между этими двумя представителями автогигантов нет разницы, если их рассматривать как средства передвижения

Однако, я думаю, что sprite отличается от movieclip
но ни тот ни другой не отличаются друг от друга, если их рассматривать как DisplayObject
ибо все они суть одно - displayobject

TERRORist 20.03.2010 20:41

Цитата:

Сообщение от Crenth (Сообщение 894418)
Однако, я думаю, что sprite отличается от movieclip
но ни тот ни другой не отличаются друг от друга, если их рассматривать как DisplayObject
ибо все они суть одно - displayobject

А наличие или отсутствие анимации разве не является отличием?

koIIImarik 20.03.2010 21:46

2 Crenth:
Выше уже написали, что основное отличие Sprite от Movie Clip в том, что второй поддерживает возможность работы с временной шкалой (читай создавать в клипе несколько кадров).

В качестве своих 5-ти копеек к основному вопросу добавлю:
Так уж получилось, что чаще использую Sprite, чем DisplayObject или DisplayObjectContainer, хотя во многих ситуациях функционал Sprite не нужен. На сколько я знаю, Sprite реализует интерфейс для программного рисования (свойство graphics у клипов), а DisplayObject и DisplayObjectConatiner — нет.

Crenth 21.03.2010 05:06

ну да, все верно.
мерседес позволяет перемещаться по шкале времени
а жигули, увы :)

iNils 21.03.2010 06:00

Цитата:

Сообщение от koIIImarik (Сообщение 894427)
Так уж получилось, что чаще использую Sprite, чем DisplayObject или DisplayObjectContainer, хотя во многих ситуациях функционал Sprite не нужен. На сколько я знаю, Sprite реализует интерфейс для программного рисования (свойство graphics у клипов), а DisplayObject и DisplayObjectConatiner — нет.

DisplayObject и DisplayObjectContainer - абстрактные классы, их нельзя создать.


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

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