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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.10.2011, 01:01
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 21  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
да, теперь все становится на свои места. никогда не смотрел хелп по таким элементарным вещам

Цитата:
Возвращает псевдослучайное число n, где 0 <= n < 1
__________________
сайт, vk

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

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Цитата:
а выше не о нем говорили? )
у, пардонте, не узрел )
Цитата:
Код AS3:
value= int(number);
if ( value < 0 ) value--;
немного не понятно. value < 0 будет, если number < 0, разве нет? Тогда зачем декрементировать значение? floor разве не по модулю должен работать?

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
Сообщение от smithy Посмотреть сообщение
Код AS3:
value= int(number);
if ( value < 0 ) value--;
number = -10;
...
value == -11 - ахтунг!
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 25.10.2011, 13:32
smithy вне форума Посмотреть профиль Отправить личное сообщение для smithy Найти все сообщения от smithy
  № 24  
Ответить с цитированием
smithy

Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
Цитата:
Сообщение от -De- Посмотреть сообщение
number = -10;
...
value == -11 - ахтунг!
Это замена Math.floor().
Например, int(-10.123) вернет -10, а Math.floor(-10.123) вернет -11.
Поэтому чтобы использовать int() вместо Math.floor() нужно проверять знак числа и вычитать единицу из отрицательного.

Старый 25.10.2011, 15:13
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 25  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код AS3:
trace( massiv1[int(Math.random() * massiv1.length * 1234567) % massiv1.length] );
__________________
Поймай яблоко 2!

Старый 25.10.2011, 17:54
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 26  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Код AS3:
Например, int(-10.123) вернет -10, а Math.floor(-10.123) вернет -11.
Не знал, так как никогда не юзал "пол" с отрицательными числами - и наивно полагал, что он по модулю округляет (то-есть в сторону нуля с обеих сторон). В чем смысл флора тогда, если преобразование типа быстрее? Или он как раз нужен в случае, если нам не известен знак аргумента. Интересно, что у него внутри?)

Добавлено через 50 секунд
Код AS3:
number = -10;
...
value == -11 - ахтунг!
и, кстати, действительно ахтунг...

Старый 25.10.2011, 18:30
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 27  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,782
Silicium, floor и int логически разные. Один занимается округлением, второй — конвертацией.

Старый 25.10.2011, 19:08
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 28  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
Сообщение от smithy Посмотреть сообщение
Скажу больше, вот это
Код AS3:
value= int(number);
if ( value < 0 ) value--;
будет чуть-чуть быстрее чем Math.floor().
Цитата:
Сообщение от -De- Посмотреть сообщение
number = -10;
...
value == -11 - ахтунг!
Да, ахтунг. Вот так подправить нужно:
Код AS3:
value= int(number);
if ( value >  number ) value--;

Старый 25.10.2011, 22:15
Genm вне форума Посмотреть профиль Отправить личное сообщение для Genm Найти все сообщения от Genm
  № 29  
Ответить с цитированием
Genm

Регистрация: Aug 2011
Сообщений: 24
Записей в блоге: 1
У меня такие варианты:
Код AS3:
var maxRound:int = (int(value) != value) ? ((value < 0) ? int(value) : int(++value)) : value
var minRound:int = (int(value)!= value) ? ((value < 0) ? int(--value) : int(value)) : value

Старый 25.10.2011, 23:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 30  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,782
И в 99% случаев вся эта «скорость» нафиг не нужна. Посему нет никакого смысла заморачиваться и просто нужно использовать правильное в правильном месте.

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

Теги
actionscript3.0 , Adobe Flash , flash , math , рандомное число
Опции темы
Опции просмотра

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

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


 


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


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