![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| TyVik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.10.2005 Репутация: нет Всего: нет |
в теле программы очень часто использую getHeight()/3. Как я понимаю, результат не целочисленный, но drawLine его кушает и не давится... как бы мне его в константу записать?
Объявил byte - говорит низзя, integer - аналогично |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
|
|||
|
||||
| TyVik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.10.2005 Репутация: нет Всего: нет |
Круто, работает...
Только как/то криво - только для 1 эмулятора работает правильно :/ |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Любые округления при рисовании могут закончится очень плачевно, особенно когда они участвуют в инкременте. Поэтому я бы рекомендовал хранить константу типа double, а приведение типа выполнять только тогда, когда оно действительно нужно (например, уже при рисовании).
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
ага, а некоторые девайсы не поддерживают CLDC 1.1 и ни про какой там float и double вообще не знают
впринципе делай так как тебе это sergej.z сказал. Я только не понял, что ты имеешь ввиду под криво работает, и лишь на одном симуляторе? давай список симуляторов и девайсов на которых пытаешься это запустить в студию и детализуй, что именно по твоему криво
-------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| TyVik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.10.2005 Репутация: нет Всего: нет |
Ага, вот меня double тоже смутил
А список симуляторов не скажу - они в комплекте с WTK 2.2 идут и как о них что/то узнать... Криво - полоски не равномерно, как задумано, а со сдвигом и растяжением<как реализовано |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
слушай, запости код, а то нихрена не понятно, про какие ты полоски имеешь ввиду. И как это они у тебя не равномерно могут идти, если интервал у тебя будет константой определён, какая бы она там не правильная не была.
-------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| TyVik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.10.2005 Репутация: нет Всего: нет |
g.drawLine(getWidth()/3,0,getWidth()/3,getHeight());
g.drawLine(2*getWidth()/3,0,2*getWidth()/3,getHeight()); g.drawLine(0,getHeight()/3,getWidth(),getHeight()/3); g.drawLine(0,2*getHeight()/3,getWidth(),2*getHeight()/3); рисует решётку |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Ты ведь умножаешь потом... Нельзя обрезать результат в таком случае. Представь, что (getHeight()/3)вернёт тебе 2,9.
Храни лучше в double. Или храни две константы
|
|||
|
||||
| Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: 3 Всего: 5 |
TyVik
Проблема твоя ясна. Дело в том, что деление на 3 и вообще любое деление целых чисел - вещь забавная, потому что происходит не округление, а отброс дробной части и выделение целой. Тут уж ничего не попишешь... Поэтому загоняй лучше это в константы... --------------------
|
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |