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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.05.2009, 19:48
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 41  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Другой способ — хранить углы в uint, когда нужно перевести в градусы делаем ход deg = angle*360/uint.MAX_VALUE.

Старый 23.05.2009, 20:42
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 42  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от Stargazer Посмотреть сообщение
Вот пример, где операторы давали бы хороший результат:
Время от времени мне нужно хранить угол чего-нибудь в градусах/радианах. И у меня постоянная проблема с тем, чтобы выполнялось 359 + 1 == 0 (и в обратную сторону). Были бы операторы - я бы смог это реализовать. А без них? Вот я и использую функцию keepInRange(359 + 1), которая следит за соблюдением диапазона. Есть ли способ лучше?
а почему не геттер/сеттер, операторы-то причем тут
Код AS3:
public function get grad():Number { return _grad; }
public function set grad(value:Number):void 
{
	while (value < 0) value += 360;
	while (value >= 360) value-= 360;
	_grad = value;
}

Старый 23.05.2009, 21:19
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 43  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
А мне не хватает в языке множественного наследования, интерфейсы не всегда пригодны.

Старый 23.05.2009, 21:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 44  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от silin Посмотреть сообщение
Код AS3:
public function set grad(value:Number):void 
{
	while (value < 0) value += 360;
	while (value >= 360) value-= 360;
	_grad = value;
}
Код AS3:
value %= 360;
if (value < 0) {
	value += 360;
}
_grad = value;
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 24.05.2009 в 02:08.
Старый 23.05.2009, 22:23
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 45  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от silin Посмотреть сообщение
а почему не геттер/сеттер, операторы-то причем тут
Потому что я использую вычисления с углами и внутри класса тоже. Предлагаете мне создать отдельный класс и вместо c= a + b каждый раз писать c.value= a.value + b.value? Слишком много чести этому углу будет.

Операторы тут как раз при том, что если бы они были - то тогда я бы этот класс сделал. И реализовал бы собственное сложение. И всё было бы намного проще.

Старый 24.05.2009, 01:49
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 46  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
iNils, я чего-то не понимаю смысл вот этого:
Код AS3:
if (value = value < 0) {
	value += 360;
}
Добавлено через 31 секунду
Stargazer, у Вас затуманен разум. операторы Вам тут никак не помогут.


Последний раз редактировалось iNils; 24.05.2009 в 02:08.
Старый 24.05.2009, 02:05
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 47  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
iNils, я чего-то не понимаю смысл вот этого:
Ошибка копипаста, исправил
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 24.05.2009 в 02:07.
Старый 24.05.2009, 12:53
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 48  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
Stargazer, у Вас затуманен разум. операторы Вам тут никак не помогут.
Вы неправильно написали. Операторы тут вам не помогут. А мне они отлично помогли бы. Так что насчёт тумана в голове - вопрос очень спорный.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от iNils Посмотреть сообщение
Код AS3:
value %= 360;
if (value < 0) {
	value += 360;
}
_grad = value;
Grad вполне себе единица измерения. Вы, вероятно, хотели написать this._degree.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 13.08.2009, 20:56
cauchy вне форума Посмотреть профиль Отправить личное сообщение для cauchy Найти все сообщения от cauchy
  № 50  
Ответить с цитированием
cauchy
 
Аватар для cauchy

Регистрация: Jan 2009
Адрес: Северный островок дефолт-сити
Сообщений: 144
Решил новую тему не создавать, а спросить здесь. Что-то пока не привык использовать геттеры и сеттеры, зато постоянно пишу getProp и setProp. Кроме того что код получается чуть более громоздким, есть ли какие-нибудь ещё минусы у такого способа доступа к приватным свойствам? Может пока совсем не привык надо всё же приучивать себя к сеттерам/геттерам?

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

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

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


 


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


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