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

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

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

Регистрация: Jun 2009
Сообщений: 461
Question Как заставить работать Setter для Point?

Пишу так:
Код AS3:
		public var vPoint:Point=new Point();
		public function set point(value):void{
			vPoint=value;
			trace('something');
		}
		public function get point():Point{
			return(vPoint);
		}
В итоге при вызове point.x=13; тело сеттера не вызывается. Не трейсит ничего. Но все исправно работает, он задает значение vPoint. Я могу даже удалить весь сеттер, и он все равно будет исправно работать. Как заставить его вызывать тело сеттера?

Старый 25.05.2011, 11:17
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Геттер вызывается, похоже)
Сеттер вызывается только когда пишешь "point =". В случае point.x = - вызовется геттер, вернёт vPoint, присвоит vPoint.x
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 25.05.2011, 11:22
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
private var _point:Point;
public function set point(value:Point):void
{
	_point = value;
	trace('something');
}
public function get point():Point
{
	return _point;
}
...
point = new Point(); //вызываем setter
По-поводу невызывания -De- уже сказал.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 25.05.2011, 11:34
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 4  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Мда, как то не экономно получается каждый раз new Point. Спасибо.

Старый 25.05.2011, 11:45
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Сделайте свой Point с геттерами и сеттерами! Если у него будет геттер x, то он вызовется ("x =" же).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 25.05.2011, 12:33
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Мда, как то не экономно получается каждый раз new Point
Что не экономного-то?

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

Регистрация: Jun 2009
Сообщений: 461
О, холиварщик.
- new Point по сравнению с point.x=.
- Ну это вы заметите если будите вызывать лям раз в секунду.
- А я и вызываю лям раз в секунду.

А теперь ваша версия линии разговора... А вообще-то, нужно ли вам это?

Старый 25.05.2011, 13:16
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Tr1te, у вас видимо какое-то непонимание процесса. Вам ничто не мешает вызывать point.x. Если вам нужно вызывать свой код при изменении x, то см. пятый пост.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 25.05.2011, 13:55
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 9  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
alatar, дА понятно это, и уже сделал. Не понимаю о каком не понимании идет речь. А про холивар это коммент к посту goodguy`я. Да забудьте вообще, я уже получил ответ, спасибо большое.

Старый 25.05.2011, 16:40
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Не собираюсь я никакого холивара устраивать. Просто ничего плохого в такой конструкции нет. И память она будет жрать очень незначительно.

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

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

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


 


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


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