![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 12
|
Казалось бы несложная вещь, а вот не могу решить
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); } То есть нужно сохранение по значению |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
метод push не создает копию объекта, а лишь запоминает ссылку на него. Поэтому в вашем случае вы обращаетесь к одному и тому же объекту. Следовательно нужно создавать новый объект или дублировать tst в зависимости от задачи. Думаю вам подойдет duplicateMovieClip
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 12
|
Понятно что таким способом передается указатель. Я перешел с С++
и пока еще не придумал чем в actionscript заменить классы-контейнеры |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|