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

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

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

Регистрация: Jan 2008
Сообщений: 12
По умолчанию Массив объектов

Казалось бы несложная вещь, а вот не могу решить
Код AS1/AS2:
import DEmptyClass;
stop ();
var tst:DEmptyClass=new DEmptyClass();
 
var mouseListener:Object = new Object();
Mouse.addListener(mouseListener);
 
var stack:Array=Array();
 
//Нажатие кнопки мыши
mouseListener.onMouseDown = function() 
{
	tst._x=_root._xmouse;
	tst._y=_root._ymouse;
	stack.push(tst);
	tst._x=0; tst._y=1;
	trace(tst._x+" "+tst._y);
	tst=DEmptyClass(stack.pop());
	trace(tst._x +" "+ tst._y);
}
Извлеченный из массива объект имеет координаты 0 и 1. А как же сохранить объект так, чтобы изменения tst на сохраненный не влияли.
То есть нужно сохранение по значению

Старый 02.04.2009, 15:25
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 2  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
метод push не создает копию объекта, а лишь запоминает ссылку на него. Поэтому в вашем случае вы обращаетесь к одному и тому же объекту. Следовательно нужно создавать новый объект или дублировать tst в зависимости от задачи. Думаю вам подойдет duplicateMovieClip

Старый 02.04.2009, 16:30
lexfl вне форума Посмотреть профиль Отправить личное сообщение для lexfl Найти все сообщения от lexfl
  № 3  
Ответить с цитированием
lexfl

Регистрация: Jan 2008
Сообщений: 12
Понятно что таким способом передается указатель. Я перешел с С++
и пока еще не придумал чем в actionscript заменить классы-контейнеры

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

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

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


 


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


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