Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Хочу сделать int=null (http://www.flasher.ru/forum/showthread.php?t=129307)

$mival 01.09.2009 20:21

Код AS3:

int.MAX_VALUE
int.MIN_VALUE

в руки :)

AL.exe 27.11.2009 01:09

Аккуратнее с int.MIN_VALUE, у меня в одном проекте все время возвращал 0, хотя был signed. Пришллось руками ставить -9999, благо этого было достаточно в моем случае.

Zebestov 27.11.2009 06:53

в первом посте пример дан
Цитата:

Сообщение от Psycho Tiger (Сообщение 846576)
Для чего?
К примеру,
Код AS3:

function setPosition(xPos:int=null):void{
  if (xPos==null) x=Math.round(Math.random()*stage.stageWidth));
  else x=xPos;
}


если это вызывается один раз в качестве некой инициализации, то:
Код AS3:

function setPosition(xPos:int = 0):void
{
  if (xPos == 0) x = int(Math.random() * stage.stageWidth));
  else x = xPos;
}

значение 0 играет свою роль отлично — с таким значением вызывать метод бессмысленно, т.к. по умолчанию x только что созданного DisplayObject итак равен 0.

И зависимо от того что нужно:

x = 0 => ничего не делаешь
x = someX => setPosition(someX);
x = anyX => setPosition();

SamFR 27.11.2009 16:49

Цитата:

Сообщение от Zebestov (Сообщение 868589)
x = 0 => ничего не делаешь
x = someX => setPosition(someX);
x = anyX => setPosition();

А если нужно сначала x = someX, а потом x = 0? Так что такой вариант достаточно ущербен. Лучше уж либо int.MAX_VALUE (int.MIN_VALUE), либо объявить аргумент как Number и проверять isNaN().

Zebestov 27.11.2009 19:45

не говори так — я сразу оговорился об "одноразовости" предложенного метода
хочешь многоразово? можно сделать ) выглядит как-то некошерно, но зато работать будет быстрее всех предложенных варинатов тут )
Код AS3:

function setPosition(xPos:Number = 0):void
{
  if (xPos == 0) x = int(Math.random() * stage.stageWidth));
  else x = int(xPos);
}

вот и вся любов ) хочешь любое число - задавай любое число, хочешь ноль — скорми .1

Psycho Tiger 27.11.2009 22:21

Цитата:

хочешь ноль — скорми .1
Мило ставить битмапы на дробные координаты.

Zebestov 28.11.2009 00:00

Цитата:

Сообщение от Psycho Tiger (Сообщение 868766)
Мило ставить битмапы на дробные координаты.

прошу прощения — про какие дробные координаты идет речь? в моем примере, согласно условиям задачи (изучаем самый первый пост), дробные координаты объекту этим методом задать невозможно. будь внимательней )

SamFR 28.11.2009 05:02

Никого не хотел обидеть) Просто не пойму, чем MAX_VALUE, заданное в качестве значения по умолчанию, хуже нуля.

Естественно, для какого-то набора задач ноль подойдёт, но для других – нет. Только вот желательно соблюдать единообразие, чтобы потом не думать, что значит ноль в одной части кода и тот же MAX_VALUE в другой. И потом с удивлением обнаруживать, что делают-то они одно и то же :)

Решение же с максимальным значением универсально (ну, или практически универсально) в силу того, что вряд ли установка координаты в это значение может служить какой-то практической цели. В отличие от установки координаты в 0.

Psycho Tiger 28.11.2009 22:08

Цитата:

Сообщение от Zebestov (Сообщение 868782)
прошу прощения — про какие дробные координаты идет речь? в моем примере, согласно условиям задачи (изучаем самый первый пост), дробные координаты объекту этим методом задать невозможно. будь внимательней )

А, точно. Прошу прощения.


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

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