Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.03.2010, 01:44
aassaaa вне форума Посмотреть профиль Отправить личное сообщение для aassaaa Найти все сообщения от aassaaa
  № 1  
Ответить с цитированием
aassaaa
 
Аватар для aassaaa

Регистрация: Mar 2010
Сообщений: 21
По умолчанию Передать переменную по ссылке

Добрый день!

Ситуация следующая:

На главной временной шкале раз в 3 секунды создается экземпляр класса наследника MovieClip. Ссылки на них никак не сохраняются.

Еще на той же временной шкале создается массив, элементы которого постоянно меняются.

Так вот нужно как-то из экземпляра класса добраться до этого массива на главной шкале! Как это сделать?

ps^ После 5ти лет программирования на php ничего не придумал кроме как попробовать сделать массив глобальной переменной (но не получилось) или передать ссылку на массив в экземпляр класса (что тоже не получилось)... Как это в as делаеся?

Старый 04.03.2010, 02:36
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Вы правильно мыслите. Тут два пути: либо объект сам пойдет за ссылкой, либо его этой ссылкой снабдят. Почему у Вас не получилось - поймет дифдиагноз. Код дайте )

Цитата:
Сообщение от aassaaa Посмотреть сообщение
На главной временной шкале раз в 3 секунды создается экземпляр класса наследника MovieClip. Ссылки на них никак не сохраняются.
А вот это Вы поторопились ультиматировать. Наверняка же добавляете (addChild или разновидность) их в DisplayList ). А это уже статья ссылка.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 04.03.2010 в 02:41.
Старый 04.03.2010, 10:16
aassaaa вне форума Посмотреть профиль Отправить личное сообщение для aassaaa Найти все сообщения от aassaaa
  № 3  
Ответить с цитированием
aassaaa
 
Аватар для aassaaa

Регистрация: Mar 2010
Сообщений: 21
После вашего ответа меня осенило)
Передал ссылку, заработало!

Но а можно ли из самого класса пойти и взять любую из переменных временной шкалы или они никак не связаны?

И еще. Вот сам код.
Этот тут я пытался в ub передать ссылку на mines

Оцените сам код, подскажите может что-то по другому делать нужно было.
Учусь я

Код AS3:
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;		
	}
}

Старый 04.03.2010, 10:49
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Привыкайте к конвенциям AS3 кодирования. си стайл режет глаза.
и не пишите в кадрах - пишите в классах.
заведите документ класс и скопируйте код туда. ( соответственно описав переменные и методы как public/private и поместив код вне ф-ций в конструктор)

в методе new_subm вы создаёте ub - а как вы собираетесь его удалять? поместите ub в массив ubList .
Код AS3:
mines[mines.length] = mine;  ->mines.push(mine)
и вообще криво всё как-то.. как я понял вы из ub вызываете drop_mine?
не надо так делать. лучше делать через события.
И вообще я бы вам посоветовал сначала чуток почитать, например, Мука - сейчас у вас каша в голове..
__________________
Отряд Котовскага

Старый 04.03.2010, 14:02
aassaaa вне форума Посмотреть профиль Отправить личное сообщение для aassaaa Найти все сообщения от aassaaa
  № 5  
Ответить с цитированием
aassaaa
 
Аватар для aassaaa

Регистрация: Mar 2010
Сообщений: 21
Я с AS третий день только играюсь и в голове и правда каша, но думаю я ее разгребу.
Спасибо за ответ

Старый 04.03.2010, 14:32
Elser вне форума Посмотреть профиль Отправить личное сообщение для Elser Найти все сообщения от Elser
  № 6  
Ответить с цитированием
Elser
 
Аватар для Elser

Регистрация: Feb 2009
Адрес: Ялта, Севастополь, Одесса
Сообщений: 52
и на счет передачи по ссылке или по значению:
все что наследуется от Object передается по ссылке, все остальное (String, uint, и т.д.) по значению

Старый 04.03.2010, 14:38
aassaaa вне форума Посмотреть профиль Отправить личное сообщение для aassaaa Найти все сообщения от aassaaa
  № 7  
Ответить с цитированием
aassaaa
 
Аватар для aassaaa

Регистрация: Mar 2010
Сообщений: 21
А есть в AS глобальные переменные? Ну вот чтобы не передавать ссылку, а просто полезть в главную временную шкалу и просто взять там то что нужно

Старый 04.03.2010, 17:43
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 8  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
забудьте про шкалу.. шкала есть только в мувиклипах.
основной класс документа может быть и без таймлайна.
глобальные переменные зло. но если очень и очень надо можно сделать.
заведите в классе CustomClass статическую переменную
Код AS3:
static public var staticVar:SmthClass;
доступ извне:
Код AS3:
CustomClass.staticVar
__________________
Отряд Котовскага

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.