![]() |
Class'ы их создание и работа с ними
Вложений: 1
Прошу обьясните мне на простых примерах как они создаются, как ими управлять, что можно с их помощью создовать
|
вам для начала лучше поискать общую лит-ру про ООП..не важно, AS, не AS...просто чтобы понять саму суть
|
Советую Мука почитать. Основы ActionScript 2.0
|
Честно говоря ну прочитал я Мука. И остался в еще большем недоумении. Когда начал сам что-то писать - стало легче. Когда Nirth угрожал расстрелом за нечеловеческий код, то я совсем просветлел и понял, что такое конструктор, метод и фигурные скобочки в loop actions =).
Юмор юмором, но для меня лучшая школа - практическая. Но помочь D12 не смогу, так как не считаю себя компетентным человеком в вопросах ООП. udaaff, напугал по началу =) Цена: 36080 руб. |
Код:
class DemoClass { |
Хорошо :)
Как её с места столкнуть ? Код:
class Star extends MovieClip { |
Класс, расширяющий мувик, надо связывать с символом мувика в библиотеке.
Код:
class Star extends MovieClip { |
Программно в классе можно рисовать ?
|
Код:
//в кадре |
теперь к полученному результату можно дополнить подобное действие ?
_x += 1; Нарисованный программно в классе обьект можно ли в этом же классе позиционировать, или может нужен еще для этого класс ? |
Эх... =) вас трудно понять :) то спорите за кадры, а тут выходит что-бы работал класс на главной сцене (.fla) должен находится клип созданный не программно с указанием в lingage имени нужного класса, для того что бы спихнуть созданный к примеру выше в классе програмно какой небудь обьект, я правильно понял :)
P.S. Мазахисты :) Прорвёмся ... |
Цитата:
С наследованием от МувиКлипа есть определенные неприятности - тут же на этой странице есть тема... у человека вполне нормальный код не компилися из за этого. Код:
class MyClass {Поправил, сорри, опечатался |
Цитата:
|
Пример выше неработает =(
|
udaaff, тотальное наследование от MovieClip не есть хорошая практика. Создавать клипы в классы — хорошо, только делать это нужно так, как написал wvxvw и нужно обязательно забыть, что существует клип _root.
|
При попытке запуска выше стоящего класса, вообщем вот:
Цитата:
|
Надо убрать static из геттера.
|
Это конечно понятно, но ничего непроисходит и при этом нет ошибки :(
|
Цитата:
|
1:0 пока версия пользователя Udaaff работаспособна но увы не юзабельная в маштабах.
Тем немение версия пользователя Wvxvw вселяет надежду, в сети натыкаюсь на весьма похожие мысли, правда у них работает, у меня неполучается :) |
К примеру, в кадре:
new MyClass(mc) // В качестве параметра мувик передаешь. |
Цитата:
|
Цитата:
|
Что могу сказать, сегодня я размазался об эту стену...
судя по всему классы мне не рады... но нужно учиться...:) Что у меня есть на данный момент: вот коробочка все рисуется все хорошо, код в .as файле Код:
class Star {класс на движение .as файл Код:
class Go {Код:
var __go:Go = new Go(); |
D12 заведи себе гугл талк, стукни меня на furzahad@gmail.com(писать сюда безсмысленно, я не проверяю эту почту она прото для IM)
|
Цитата:
Update кстати в Win32 логика и вид тоже завязаны. Update Единственная причина почему в ActionScript используеться композиция, это потому что так легче. Не нужно мучаться с фабриками и тд, Колин Мук пишет книжки для начинающих, именно поэтому он решил заюзать композицию, она менее багнутая. На деле подход с фабриками лично мне больше нравится. |
2 udaaff:
Причина гораздо банальнее. В сторону все войны о том, как правильно, и как в теории синтезируется сферический конь в вакууме =) Метод аттача и последующего объявления клипа объектом класса работает хреново. Факт, в том коде о котором я говорю была следующая неувязка: было 2 класса последовательно наследуемых от мувиКлипа, так вот второй почему-то по вызову конструктора суперкласса пытался обратится к клипу на сцене... Почему - надо спрашивать у Адоби =) И мое сугубо личное мнение... 90% кода который пишется на флеше реализует элементы интерфейса. При чем, как правило проще и техничнее сразу же писать и контроллеры и их внешний вид, чем создавать десятки библиотек для того, чтобы в итоге сваять какой-нибудь комбо-бокс... Элементарно меньше работы, да и понятнее в итоге. 2 D12: Код:
class Star {Код:
var _mc:MovieClip = Star._create({targ:this}); |
2 D12 не слушай wvxvw
2 wvxvw Без обид, и прошу прощение но мое имхо, это бред. |
Код бредовый? Ну, я тут спорить не буду... я просто взял то, что было и слепил так, чтобы хоть что-то похожее делало =)
Я не думаю, что цель проекта заключается в том, чтобы двигать прямоугольник по экрану =) А чтобы просто посмотреть, а что получится, если сделать так. А если бред - это то, что было написано до кода - ну, на то оно и ИМХО =) ЗЫ. http://flasher.ru/forum/showthread.php?t=103055 вот тут этот пример, о котором я раньше говорил. |
Вложений: 1
Вот пример Вложение 18130.
Создается фабрика. Далее кажому классу наследнику TextField/MovieClip создаеться статический метод create (в моем случае был метод addChild который принимал в качестве параметра прототип или функцию-класс желаемого класса). Цитата:
|
То есть фабрика это то же как у wvxvw, только добавляется строчка
Код:
result.__proto__ = generator.prototype;new его не создать, поэтому создается статическая функция, которой передается ссылка и создается пустой мувик, а затем задается __proto__ и вызывается конструктор, то есть по сути те же действия выполняет new. http://flasher.ru/forum/showthread.php?t=102420 http://flasher.ru/forum/showthread.php?t=79179 |
Nirth, ну ооочень сильно напоминает мой McFactory :)
|
Эм... еще одна попытка создать UIObject? %) Мне оч понравилось объяснение в хелпе полезности этого класса =) Не дословно:
"в принципе этот класс не нужен, просто создан для удобства тех, кто привык программировать на чем-то отличном от АС" =) Ну, я смогу придумать еще надцать череззаборногузадерических способово вызвать .createEmptyMovieClip() а толку? =))) |
Цитата:
Так же этот прием используеться в фреймворках AsStep, ASWing, Flex Framework 1.0, 1.5, Vegas. Это вообще единственный оптимальный способ создавать мувики, поэтому твое удивление совершенно напрасно=))) |
А я и не удивляюсь, собственно :)
|
привязываение класса к клипу в библиотеке - порно (имхо)
|
Объясните мне пожалуйста. Зачем мне использовать различные фабрики или способ wvxvw для создания мувика или текстового поля, если просто напросто можно создать пустой мувик в библиотеке и связать его с классом? Только потому, что в других языках все обстоит по другому?
upd: CrazyFlasher, почему порно? |
ну теряется логическая модель программы. это тоже самое, что писать код внутри клипа
|
логическая модель находится в классе. И какова разница: или мы будем мувик создавать при помощи attachMovie или при помощи createEmtpyMovieClip и потом через фабрику его пропускать?
|
программа должна быть единным целым, а не по кускам присобачена к клипам (имхо)
|
| Часовой пояс GMT +4, время: 16:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.