![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 06.05.14]
|
Вот есть такая задача - координата x растет от 0 до 100, как только доходит до 100 возвращается до 0.
Мне кажется чейто, что есть более удобная реализация и короткая. Вообщем как делаете вы ? |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
В том, что в математике не нужны строковые значения)
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Тогда все равно нужно компенсировать уход за пределы. Иначе будет значение 102, вместо 100. |
|
|||||
|
[+4 06.05.14]
|
Цитата:
|
|
|||||
|
listener
|
Если прям-таки уж линейность движения необязательна и нужна цикличность (хотя и без нее можно), можно обычным косинусом/синусом координату считать с нужными параметрами. Дольше? Пожалуй... Но просто: x = X*cos(intCount); координата "сама" меняется без всяких ифов в пределах [-X;X]. Можно поискать и другие функции. Одна строка, как вы и хотели. Поднастроить - нет проблем. Поменять коэффициентики и все.
Последний раз редактировалось alexcon314; 18.03.2011 в 15:30. |
|
|||||
|
>>Иначе будет значение 102, вместо 100.
попасть в 100 стартуя из 0 с шагом 3 вообще мудрено тока если дробить каждый шаг private var _step:Number = 1; private function test(event:Event):void { for (var i:int = 0; i < 3; i++) if ((x += _step) == 100 || x == 0) _step *= -1; } зы. ни о чем тема >>Вообщем как делаете вы ? готовыми твинерами пользуюсь Ж) |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|