![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2010
Сообщений: 21
|
Добрый день!
Ситуация следующая: На главной временной шкале раз в 3 секунды создается экземпляр класса наследника MovieClip. Ссылки на них никак не сохраняются. Еще на той же временной шкале создается массив, элементы которого постоянно меняются. Так вот нужно как-то из экземпляра класса добраться до этого массива на главной шкале! Как это сделать? ps^ После 5ти лет программирования на php ничего не придумал кроме как попробовать сделать массив глобальной переменной (но не получилось) или передать ссылку на массив в экземпляр класса (что тоже не получилось)... Как это в as делаеся? |
|
|||||
|
.
|
Вы правильно мыслите. Тут два пути: либо объект сам пойдет за ссылкой, либо его этой ссылкой снабдят. Почему у Вас не получилось - поймет дифдиагноз. Код дайте )
Цитата:
Последний раз редактировалось dimarik; 04.03.2010 в 02:41. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 21
|
После вашего ответа меня осенило)
Передал ссылку, заработало! Но а можно ли из самого класса пойти и взять любую из переменных временной шкалы или они никак не связаны? И еще. Вот сам код. Этот тут я пытался в ub передать ссылку на mines Оцените сам код, подскажите может что-то по другому делать нужно было. Учусь я ![]() var mines = new Array(); var minesCount:int = 15; var timer:Timer = new Timer(3000); timer.addEventListener(TimerEvent.TIMER,new_subm); timer.start(); drop_mine(); function new_subm(evt:Event):void { var ub:Subm = new Subm(mines); addChild(ub); ub.go(); } function drop_mine():void { for (var i:int = 0; i < minesCount; i++) { var mine:MovieClip = new Mine(); mine.x = Math.random()*this.width; mine.y = Math.random()*200+140; mine.alpha = .5; this.addChild(mine); mines[mines.length] = mine; } } |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Привыкайте к конвенциям AS3 кодирования. си стайл режет глаза.
и не пишите в кадрах - пишите в классах. заведите документ класс и скопируйте код туда. ( соответственно описав переменные и методы как public/private и поместив код вне ф-ций в конструктор) в методе new_subm вы создаёте ub - а как вы собираетесь его удалять? поместите ub в массив ubList . и вообще криво всё как-то.. как я понял вы из ub вызываете drop_mine? не надо так делать. лучше делать через события. И вообще я бы вам посоветовал сначала чуток почитать, например, Мука - сейчас у вас каша в голове..
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 21
|
Я с AS третий день только играюсь и в голове и правда каша, но думаю я ее разгребу.
Спасибо за ответ |
|
|||||
|
Регистрация: Feb 2009
Адрес: Ялта, Севастополь, Одесса
Сообщений: 52
|
и на счет передачи по ссылке или по значению:
все что наследуется от Object передается по ссылке, все остальное (String, uint, и т.д.) по значению |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 21
|
А есть в AS глобальные переменные? Ну вот чтобы не передавать ссылку, а просто полезть в главную временную шкалу и просто взять там то что нужно
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
забудьте про шкалу.. шкала есть только в мувиклипах.
основной класс документа может быть и без таймлайна. глобальные переменные зло. но если очень и очень надо можно сделать. заведите в классе CustomClass статическую переменную доступ извне:
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|