![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2009
Сообщений: 7
|
Я немного новичек в програмировании на AS3, поэтому вопрос может показаться глупым. Сразу скажу: честно пытался найти решение в гугле и книжках. Наверное видел фигу
Есть отдельно написанный класс, атачится к флэшке (main class). Внутри класса есть ф-ция (public draw(), ф-ция просто рандомно кидает на сцену 10 кружков). В самой флэшке есть мувик (export for AS, export for 1st frame, no instance name, instance of canvas() ), в нем еще один, к примеру top_mc (export for AS, export for 1st frame, instance of top() ). Мувики в классе объявляны. Что хочу: Кидаю на сцену мувик (instance of canvas()), во вложенном в него мувике (top_mc) хочу чтобы сработала ф-ция draw(). Чтобы можно было раскопировать canvas (до тыщщи копий) и кружочки в каждом будут рисоваться, тогда наступит счастье во всем мире Понимаю что для top_mc ф-ция draw() это неопределнная ф-ция и он не понимает чо от него хотят. Но как его научить этой ф-ции? Как объяснить ему что она лежит хорошая такая пабликом в основном классе проекта? Догадываюсь что нужно сослаться на класс и на саму ф-цию, не подскажете как? Буду очень благодарен. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 7
|
"статический метод" - это как? (я мал и глуп, я не видал ..., вообщем я дизайнер, прости Господи)
)я читал про prototype это не они? |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 7
|
И все равно ошибка. Он мне сразу пишет что все необъявлено и тд и тп. Вот мой код.
package { import flash.events.Event; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.events.MouseEvent; import flash.display.Sprite; import flash.display.MovieClip; import flash.display.DisplayObjectContainer; import flash.display.Stage; import area; import clip; import mCcub; import mCcir; import mCtri; public class TrainF extends MovieClip { //Var var area_mc:MovieClip = new area(); var clip_mc:MovieClip = new clip(); var top_mc:MovieClip = new top(); var cub_mc:MovieClip=new mCcub ; var cir_mc:MovieClip=new mCcir ; var tri_mc:MovieClip=new mCtri ; var newClips:Array=[]; var myWidth:Number=clip_mc.area_mc.width; var myHeight:Number=clip_mc.area_mc.height; var numClips:Number=30; public function TrainF() { stage.addEventListener(KeyboardEvent.KEY_DOWN, space); this.draw(top_mc); } public function space(event:KeyboardEvent):void { if (event.keyCode==Keyboard.SPACE) { this.draw(top_mc); //trace(clip_mc.area_mc.x); } } public static function draw(to:DisplayObjectContainer):void { // Prepare the stage (empty it) //this.clearStage(); for (var i = 0; i<numClips; i++) { var tri_mc:MovieClip=new mCtri ; var cub_mc:MovieClip=new mCcub ; var cir_mc:MovieClip=new mCcir ; var clips:Array=new Array(tri_mc,cub_mc,cir_mc); var curClip=clips[Math.floor(Math.random()*clips.length)]; canvas_mc.addChild(curClip); newClips.push(curClip); curClip.x=Math.random()*myWidth; curClip.y=Math.random()*myHeight; } } public function clearStage():void { for (var i:Number = 0; i < newClips.length; i++) { newClips[i].parent.removeChild(newClips[i]); } newClips=[]; } } } |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 7
|
Хорошо. Понял вашу мысль. Спасибо и на этом
![]() |
|
|||||
|
>> кружочки в каждом будут рисоваться,
Написание документ класса и класса для мувиков http://www.dnadillo.dn.ua/fla/doc-mc-info.swf Пример класса для документа и вложенных мувиков мувики удаляют себя при нажатии на них http://www.dnadillo.dn.ua/fla/doc-rect-class.swf http://www.dnadillo.dn.ua/fla/doc-rect-class.zip |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 7
|
Цитата:
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|