![]() |
КЛАССЫ КЛАССЫ КЛАССЫ КЛАССЫ КЛАССЫ
Вложений: 1
Посмотрите класс PhysicalEngine.
Как мне в нём задействовать класс Vector3d ???? IMPORT не работает, или я его не могу заставить работать. Попутно ещё один вопрос. Как в классах реализовать то же самое, что и MovieClip.prototype. Extends скажете вы? Но я не въехал. К примеру создадим класс class circle extends MovieClip Этот класс будет рисовать круг в MovieClip'e. Как я не пытался это сделать, работать он не хочет. Т.е. к примеру класс я создал, через extends MovieClip. Далее создаю пустой клип createEmptyMovieClip("ball", 1); Пишу: ball.circle(0, 0, 100); И никакого результата. Приведите простенький пример, если можно, рисования в MovieClip'e через класс. p.s. Перевожу сейчас всю свою математическую библиотеку на AS 2.0 вот и мучаюсь... |
ну что? ни у кого соображений нет? А?
|
Слушай, зачем тебе все переводить на AS2, если ты ничерта в этом не понимаешь? - совет один сначала прочесть мануал :)
А вообще, к примеру class myClass extends MovieClip ... присабачивается в виде *.as к линкованому мувику в библиотеке :) |
Можно не создавать пустышку, а сразу ассоциировать класс с мувиком:
Создать мувик в библиотеке. У него в Lincage укажи имя класса. Там есть специальное поле. Или в декларации класса указать переменную типа var boll: MovieClip; А затем инициализировать её в конструкторе или где хочеш. boll=createEmptyMovieClip("ball", 1); Попробуй! У меня получается. |
Цитата:
Ты сам то ответ знаешь? Кстати, что там понимать то? Это макромедиа опять кашу наварила, вот и расхлёбываем. Нет бы взяла, да C++ сделала, ан нет, какой то свой гемороидальный язык выделыывает, извращается. Ну как я понял, здесь вообще могут отвечать только на вопросы типа: "Что такое прототип, что такое массив" а про новое ни кто не знает. |
Цитата:
|
Цитата:
|
эээ, верните экспонат в кунсткамеру :D
Цитата:
|
WOW, не иначе как лектор вернулся :))
|
nuran :), начнем с import'a так как он нам понадобиться ;) - тут друг мой опять тебя в хелп (в котором поиск есть) отправлю за техническими подробностями дабы оно работало, ну и плюс в данном разделе уже писали что-то про баги с импортом.
Если хош делать с createEmptyMovieClip - делай, тогда тебе нужна ссылка в пределах класса на этот клип. Правда я не уверен, что такой подход очень удобен, если б ты немного разобрался с Диром, то ситуация была бы понятна - какой это геморой (куча парент скриптов и т д). Но для мазахистов пожалуйста: (иногда стоит заглядывать на ММ, а не ползать по блогам, если ты так интересуешься флешом ;)) http://macromedia.com/devnet/mx/flas...d_classes.html Что касается линкованых мувиков из библиотеки, которые вобщем то можно оформить в виде компонентов - помоем это более разумное решение, атачить (если не нравиться attachMovie - сделай свой интерфейс вроде UIObject.createClass ...) компиленый символ, пускай даже пустышку и далее на прямую юзать API присобаченного к нему класса, хотя .. Цитата:
http://members.shaw.ca/flashprogramm...wis/index.html (третий раз тебе кидаю эту линку :)) p.s.: Большего не скажу, так как неизвестно на сколько долго сижу на P1 :), об MX2004 и думать не приходиться :) |
Цитата:
|
Цитата:
|
Цитата:
Кстати, давно ли вы тов. Забор, были на этой библиотеке Брендона Вильямса? Она уже наверное месяца 2 как не пашет. Флешка мигает и ничего не показывает. |
Цитата:
|
Всё вашу м...! вопрос похоже придётся решить так: передачей классу имени MovieClip'a. А класс уже будет рисовать. Но это отстойно. Я бы хотел конечно что то типа
MovieClip.circle(); Надо попробовать предложение от _1_Maxim. Извини, всё времени не было. |
Тов. Нюра N,
желаю Вам удачи в Вашем нелегком деле, потому что трудностей Вы встретите очень-очень много. :) |
nuran, у Ahab'a все работает, заходил за пару дней до нового года, когда тебе линку кидал - библиотека постоянно пополняется и там все есть, конкретно 3D или еще, что-то я не смотрел ... к тому же я тебе советовал посмотреть как люди пишут, для этого не нужен конкретный класс =), можно заглянуть сюда http://www.bit-101.com/Particles/
p.s.: А вообще, лично мне по барабану как написано, главное, чтоб я понимал и оно работало ;) |
а вообще, на ультрашoке очень доступно об етом изложено.
ultrashock.com > tutorials > mx2004 > as2.0 |
2 Sergey
Жену свою учи ... щи варить. Трудности? От тебя что ли? Цитата:
Прошу прощения, вопрос о импортировании классов снимается. Оказывается не я глупый и непонимающий, а как обычно флеш тупит. Ошибки в самом flash. Тупой редактор выдаёт сообщение, что класс не может быть загружен в другой класс. Вот я и думал, что это ошибка. На самом деле нужно забить на эти сообщения. Это не баг, это фича глупого редактора flash'a ... И вопрос о прямом рисовании через classes тоже снимается. Это невозможно. Запомните это, и забудьте навсегда. А Сергею даю негативную оценку[-] :D. Что-то он с Балтикой сдружился :)) Не к добру это ... Балтику оставлю в раздумии над своим прошлым поведением. Блог про лектора начался как раз из за него. И из за него же + lexass'a, который как я понял сообщил куда надо, мне Виталий задарил бан. Кстати, this ГЛЮЧЕНЫЙ. Я бы мог это доказать, это точно, в прототипах. Так как, когда я делал свои сырцы в 3d через прототипы я как раз обнаружил это, по этому во всех моих старых исходниках написано eval, вместо this. Помню мой первый топ на этом форуме, назывался он вроде Actionscript.txt. И там один умный дядя как раз меня упрекнул в том, что я использую eval. Только хуже ли это, чем this? Я ничего не могу утверждать, у меня нет ни какой информации о том, что eval работает медленнее this. Нет у меня оснований, что бы утверждать это. Цитата:
<c> 2003 Grigory Ryabov. All Rights Reserved. Код:
// ФАЙЛ nuranORG/draw/CurveThreeTo.asКод:
// ФАЙЛ nuranORG/draw/Circle.asКод:
import nuranORG.draw.*;И он этого не скрывает, да они все одинаковы. Всё 3d уже давно придумано, и не надо изобретать велосипед, что бы сделать 3d движок. |
Если интересно, забор, зацени что я накалякал здесь:
http://www.flash.plux.ru/board/viewtopic.php?t=140 Кстати на макромедию я тоже с Bit-101 попал, вот отсюда :D : http://www.bit-101.com/forum/viewtopic.php?t=2602 |
Цитата:
а трудности у тебя будут из-за собственного хамства, упертости и самолюбия, которые в сочетании безграмотностью создают удивительный коктейль. Цитата:
Цитата:
llllllllll респект. за толерантность. :) |
Цитата:
2) Если ты хочешь просто рисовать круги, зачем все так усложнять, что это тебе дает? почему бы не юзать прототипы? :), ведь классы в АС2 - всеголишь конструкции для удобства, ну или (не уверен, у меня нет возможности проверить) можно зафигачить в MovieClip.as в папачке classes все что тебе нада - хотя это не правильно:) Вобщем не нада усложнять ;) |
Заборчик, я просто хочу перевести всю свою мат. библиотеку на классы.
|
Цитата:
:D |
Nuran'у
Насчет глючности eval в MX: http://www.macromedia.com/support/fl...nment_area.htm
|
Re: Nuran'у
Цитата:
|
Кстати, nuran, я насчет твоих "классов" с весьма странным использованием ;) - AS - прото язык - наследование на базе прототипов ... к сожалению нету возможности поставить MX2004, так что объясню - нечто вроде Object.registerClass :)
Код:
function Class(){Код:
new Circle(ball, 0, 0, 100); |
растолкуй пожалуйста, что ты тут набодяжил. У меня Flash'a под рукой нет.
|
Ничего интересного Hello World средствами ООП :)
замутил класс и от него объект с методом хело ворлд! |
Цитата:
Ты вот это зачем пишешь, где юзаешь то что выделено болдом? :) class nuranORG.draw.Circle extends MovieClip (Кстати extends делает все то же __proto__ :)) И плюс простейший метод для MC зачемто оформляется как класс, который сразу же уничтожается после вызова :) |
В смысле зачем? Это .. по спецификациии, что бы работать с MovieClip'ом через класс. Или я что-то не понял?
|
class MyClass extends MovieClip
Делает то же самое, что и ... myClass.prototype = new MovieClip() - для MX От того, что ты уберешь строчку extends в твоем случае ничего не измениться :) |
Что значит не изменится. Зубр, ты что, Дебруила перечитался :D , оно работать не будет, если не писать extends MovieClip. Вот я о чём. Ошибку выдаст. Прототипы здесь не при чём, ето ж классы во внешних файлах... хотя ...
|
Забор ты бы всетаки поставил себе MX
|
Забор ты бы всетаки поставил себе MX
|
Короче :)
Вот то что ты по сути делаешь: Код:
// SuperLineTo.asКод:
import SuperLineTo; |
Ну и? Я его и не хочу сохранить. Мне веть нужно только нарисовать что-то. Может что-нибудь умнее предложишь? У меня голова пока что на большее не способна! ;)
|
Неееее :), я пас далее объяснять и предлагать :D
|
Цитата:
да. непробиваемо. Нуран, жаль, что подпись Мегафлэшер уже Джоном занята, а то тебе бы смотрелось :D :D :D |
Цитата:
Ведь создаешь ты сначала мувик(attachMovie), а не объект. А уже в нём конструируешь объект. Кто кого наследует...? Кстати , если конструктор по умолчанию, то класс (подкласс мувика) создаётся автомотически. Держись, nuran! P.S. nuran, троя проблема в том, что ты подсознательно тянешся к прототипам, этому пережитку ранних версий Flash-а. |
| Часовой пояс GMT +4, время: 00:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.