![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Banned
[Полный мудак]
Регистрация: Jan 2001
Сообщений: 201
|
Расширил класс. Но в суперклассе надо тип переменной поменять с MovieCLip на Sprite.
Игры с super не помогли, var newVar:Sprite=new Sprite(); newVar= super.oldVar_mc as Sprite.// не работает Нельзя привести MovieCLip к Sprite потому что MovieClip более расширенный? кАк поступить? Оставить болтаться пременную просто не хочется. И еще, не так просто присвоить произвольную переменную Sprite. Как это решается? Я расширил Sprite-вроде бы заработало. Тогда как MovieClip.someVar="bl-bla" запросто работает. Спасибо! Последний раз редактировалось Gary; 18.07.2007 в 14:30. |
|
|||||
|
Менять типы наследуемых свойств - нельзя.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я бы сказал, что менять типы любых переменных нельзя
![]() Только если это не * или Object… Но там и тип «расплывчатый». |
|
|||||
|
Banned
[Полный мудак]
Регистрация: Jan 2001
Сообщений: 201
|
да, дурной тон менять типы (читал где-то). Но
1. написал я класс, который юзает MovieClip. 2. Второй ПАКЕТ классов написанный независимо, имеет свойсто (переменную типа) -Sprite. В эту переменную я вызываю MovieClip. Однако нельзя! Выходит, что я не могу никак задействовать первый класс в пакете классов? Очень здорово... Пример: ручками квадратик нарисовал. Это -MovieClip. Я же не могу ему назначить Sprite. Далее я ресайзинг ему делаю -класс для этого написан и т.п. Много чего написано. Третье измерение в ресайзинге я допустим описал также на всяк случай. Естсетвенно компонеты пихнул сюда. Короче сложноватая конструкция -допустим ).Но позже я решил сделать 3D куб, допустим. Это класс, где юзается куб с типом Sprite, куб рисуется программно. НО этот куб я ресайзить первым классом не могу, т.к. приведение типов не сработает. Выходит даже громоздкие классы в таком случае надо переписывать? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Последний раз редактировалось etc; 18.07.2007 в 17:39. |
|
|||||
|
Banned
[Полный мудак]
Регистрация: Jan 2001
Сообщений: 201
|
а если подумать? щаз напишу на примере.
--------------------------------------- хотя однозначно цифра 14188 постов способствует росту процессов испарения. А должно наоборот. Но это не здесь очевидно. |
|
|||||
|
Banned
[Полный мудак]
Регистрация: Jan 2001
Сообщений: 201
|
package
{
public class A extends MovieClip
{
var myMC:MovieClip;
public function A(){ }
public function setComponents(myMC:MovieClip)
{
this.myMC=myMC;// myMC нарисован ручками, Sprite низзя
}
public function getMC():MovieClip
{return myMC;}
}
}
//второй класс
package
{
import flash.display.Sprite;
import A;
public class B extends Sprite
{
var mySP:Sprite;
var a:A;
public function B(){ }
public function ini():void{
a=new A();
mySP=a.getMC()// нельзя
mySP= a.getMC() as Sprite //нельзя
//super (если банально расширить класс A,
// тоже не приведет к возможности сменить тип переменной.
//какой выход?
}
//здесь методы непосредственно работающие с объектом mySP.
}
}
желая спустя время его прикрутить к другим я очень даже возможно столкнусь с проблемой прив- еденя типов (не всегда но вот можно же). Понятно также что совершенно разные типы и то можно поиграть- ся, например var s:String; var n:Number; s="4"; n=Number(s). Но вот рядом стоящие по сути классы Sprite и MovieClip и созданные таких типов объеты в разных классах вызывают у меян вопросы... Последний раз редактировалось Gary; 18.07.2007 в 20:07. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Gary, отредактируйте свой пост и оформите код тегами [code][/code].
Для начала неплохо было бы создать этот самый myMC. Последний раз редактировалось etc; 18.07.2007 в 19:19. |
|
|||||
|
стервочка (я мужик)
|
эй, чувак! твой речевой аппарат выдаёт грандиозные перлы!
а про написанный тобою код я вообще молчу. что бы твои "нельзя" стали "можно" нужно что бы myMC был определён для начала. |
|
|||||
|
Banned
[Полный мудак]
Регистрация: Jan 2001
Сообщений: 201
|
2 __etc: мне представляется вы человек взрослый, общайтесь без спеси, пожалуйста, и все будет ОК.
Не надо тут меня лечить про создание клипов-оно вам надо читать банальности про то как клипы в среде на таймлайне создаются? Давайте по сути, если вам есть что сказать. Уберите пожалуйстав свой пост про улетучившийся смысл, я как видите удалил свои комменты, уважая вашу сторону. Надеюсь на взаимность. Просьба за "чувака" влепить + Cобаке. Караван идет, зачем нам они? Добавлю для ясности -это все работает и варианты конечно же есть решений, по ходу просто вопросы возникли. Меня интересуеит конструктивный ответ. Нет его-закройте тему и все. Как все-таки одинкаовы люди - мало бывает если на формах чел -значит мы круче! БУ_ГА_ГА! Последний раз редактировалось Gary; 18.07.2007 в 20:15. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:02. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|