Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.07.2013, 17:09
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 11  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
А на флэш девелопе воркфлоу лучше? Может тогда сразу на нём всё делать, не парицца с CS.
Может хватит уже смешивать разные вещи?
Flash CS (уже CC) - инструмент для создания анимации, моделек, изображений векторных.
FlashDevelop - инструмент для написания кода и не более.

Старый 15.07.2013, 17:14
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 12  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Лично я строю базовый класс на основе Sprite, а дальше дело вкуса

Старый 15.07.2013, 18:12
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 13  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
воркфлоу - workflow - дословный перевод технологический процесс.
Так вот вопрос чем же отличается воркфлоу СS , FD и FB в следующем коде?
Код AS3:
package  
{
	import flash.display.Sprite
	public class Main extends Sprite
	{
 
		public function Main() 
		{
			trace("Тест воркфлоу");
		}
	}
}

Старый 15.07.2013, 21:17
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 14  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Что имелось в виду: Flash CS предлагает код писать привязывая его к графическим объектам, даже если это не нужно. Так происходит потому, что в редактор заложены возможности генерации соответствующих классов из шаблонов. Подключение библиотек компонентов так же требует наличия графических элементов и т.д. Это и приводит к тому, что часто без необходимости, люди которые используют / выросли на этом редакторе создают классы наследуя их от Sprite / MovieClip.

Это не типично для, например, FlashDevelop или FlexBuilder где, в первом, обычно пишут обычные AS3 классы, наследуя их по необходимости от того, от чего нужно. В билдере, например, есть другая замашка - все складывать в тег <s:Application/> - просто потому, что так сделать удобнее / быстрее.
__________________
Hell is the possibility of sanity

Старый 15.07.2013, 22:05
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 15  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
У меня возникло еще больше вопросов , чем ответов.Наверное сам дурак.
Но я не пойму как создать класс ,который не будет ничего наследовать , но при этом будет отображать на экране например квадрат.

Старый 15.07.2013, 22:22
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 16  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
В этом случае, самый простой вариант - вам придется передавать в ваш класс ссылку на stage или на любой другой DisplayObjectContainer, на который вы будете вешать вашу самостоятельную графику

В общем я сторонник точки зрения товарища Babylon: если класс будет содержать графику - наследуем Sprite.

Старый 15.07.2013, 22:32
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 17  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Да я тоже сторонник его точки зрения и более того Adobe тоже сторонник его точки зрения.
но как понимать ?
Цитата:
Так что я бы советовал оставить Sprite / MovieClip в покое - не наследовать их / не пытаться изменить поведение по умолчанию, а просто включать их как члены ваших классов. Т.е. композиция вместо наследования.

Старый 15.07.2013, 22:40
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 18  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Как говорилось в одной статейке:
Цитата:
I OOP the hell out of everything
Я так понял этот подход нужен для того, чтобы не пытаться придумывать свое поведение Спрайта или Мувика, а просто использовать их для хранения графики)

Просто тут проблема в том, что в любом случае придется добавлять эти объекты, которые являются "членами ваших классов" на stage, пусть даже через посреднические DisplayObjectContainers, а это уже разработка на уровне реализации, которую ой как не любят сторонники труЪ-ООП

Старый 15.07.2013, 23:06
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 19  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
То есть это придумывание своего велосипеда?Если же нет , дайте ссылку где Adobe , предлагает все это, как решение каких либо задач.Почитаю ,очень интересная структура получается.

Старый 16.07.2013, 00:04
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 20  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Попробую объяснить мысль.

Вариант с наследованием:
Код AS3:
class Person extends Sprite {
    public var name: String;
    public var avatar: Sprite;
 
    public function Person(name: String, avatar: Sprite) {
        super();
        this.avatar = super.addChild(avatar);
        var signature: TextField = new TextField();
        signature.text = this.name = name;
        super.addChild(signature);
    }
}
Вариант без наследования:
Код AS3:
class Person {
    public var name: String;
    public var avatar: Sprite;
 
    private var canvas: DisplayObjectContainer;
 
    public function Person(canvas: DisplayObjectContainer,
                           name: String, avatar: Sprite) {
        super();
        this.canvas = canvas;
        this.avatar = canvas.addChild(avatar);
        var signature: TextField = new TextField();
        signature.text = this.name = name;
        canvas.addChild(signature);
    }
}
Почему с моей точки зрения второй вариант лучше:
1. Не возникает когнитивного диссонанса от того что человек является разновидностью спрайтов (на ум приходят феи и напитки).
2. Второй класс просто гораздо меньше по размеру. Редактируя этот класс вы не будете страдать от избытка методов и свойств в автодополнении.
3. Вы не унаследовали ничего такого, что помешало бы вам работать с классом человека, как с человеком. Например, человек может быть в маске (на аватарке), но слот mask уже занят в классе Sprite под абсолютно другие цели.
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
class , extends , inheritance , superclass
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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