![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2015
Сообщений: 5
|
Друзья, при изучении AS3 возникла проблема.
Если я рисую в Main() - то все нормально. Если же пытаюсь нарисовать в init(), то ничего не видно. Вот код из init(): public var sp:Sprite; // Это вне функции лежит ... sp.graphics.lineStyle( 5, 0x0000ff, 1 ); sp.graphics.moveTo( 0, 0 ); sp.graphics.lineTo( 100, 100 ); addChild( sp ); Кто что подскажет? з.ы. Я гуглил, читал, пробовал копипастить куски из примеров - результат тот же |
|
|||||
|
Полный код в студию.
__________________
Я заклинаю вас действовать иначе. |
|
|||||
|
Регистрация: Dec 2015
Сообщений: 5
|
Разобрался. Да, я тупанул, не выложив полный код. Извиняюсь...
Причиной оказалось, что класс, в котором я использовал спрайт, тоже нужно addChild(). А я этого не делал. |
|
|||||
|
Цитата:
Если в конструкторе работает, значит он уже в дисплей листе, и никуда его добавлять не надо. Стало быть в первом сообщении не правильно описана проблема. п.с. Цитата:
|
|
|||||
|
Регистрация: Oct 2013
Сообщений: 7
|
Схожая ситуация
Есть код в главном классе package { import flash.display.MovieClip; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import graphic.UIskin; [SWF(width='765', height='440', backgroundColor='#ffFFFf', frameRate="40")] [Frame(factoryClass = "Preloader")] public class Main extends Sprite { public function Main() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var skin:UIskin = new UIskin(); addChild(skin); } } } package graphic { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.display.MovieClip; import flash.events.MouseEvent; public class UIskin extends Sprite { public function UIskin() { init(); } public function init():void { var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x000000,0.5); mc.graphics.drawRect(50,50,100,100); mc.graphics.endFill(); addChild(mc); } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|