|
|
|||||
все правильно... только так не получается...
есть curSprite tcnm newSprite функция запускающая смену содержимого перезаписывает newSprite после чего когда маска скрывает все curSprite = newSprite... первый раз работает но второй раз при перезаписи newSprite сразуже меняется и curSprite потомучто это ссылка ... тоесть как я понял надо иметь newSprite1 и newSprite2 и поперемено в них записывать ссылки на новое содержимое, тогда должно заработать... |
|
|||||
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
У окна есть свойства curSprite и newSprite.
Последний раз редактировалось SamFR; 18.11.2009 в 19:04. |
|
|||||
так при действии 2 изменится и curSprite разве не так?
у меня срабатывает именно так... |
|
|||||
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Нет, вы делаете что-то неправильно, раз у вас срабатывает так. Это – две независимые переменные, и они могут указывать на разные объекты.
Ищите, где вы портите curSprite. Или приведите код. |
|
|||||
тоесть по идее
newSprite = externalSprite; curSprite = newSprite; // при этом действии создается ссылка не на newSprite а curSprite = externalSprite??? |
|
|||||
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
В первой строчке вы присваиваете переменной newSprite ссылку на объект, на который ссылается externalSprite. Теперь и newSprite ссылается на этот объект.
Во второй строчке вы присваиваете переменной curSprite ссылку на объект, на который ссылается newSprite. Теперь обе эти переменные ссылаются на один и тот же объект. Но, если теперь заставить newSprite ссылаться на какой-то другой объект, то на curSprite это никак не отразится. Вотрая строчка должна быть выполнена после окончания анимации. Аналогичный (но сильно упрощённый) код на С++ выглядел бы так: |
Часовой пояс GMT +4, время: 11:41. |
|
« Предыдущая тема | Следующая тема » |
|
|