Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   transformObject (http://www.flasher.ru/forum/showthread.php?t=59159)

Whatsername 09.06.2004 12:34

transformObject
 
colorObject.setTransform(transformObject)
Если свойству transformObject присвоить чрезвычайно высокое значение (например, transformObject.rb = 100000) то задаваемый цвет вычитается полностью. Почему так происходит?

Кстати, если присвоить transformObject.rb еще большее значение, скажем, 135000 - все встает на свои места, и количество цвета обрезается по максимальному значению (255)

Nox Noctis 09.06.2004 12:52

clr = new Color(mc);
clr.setRGB(0xFFFFFF*1.5);

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

Whatsername 09.06.2004 14:30

да, настоящий припротивный цвет вместо белого =)
видно я чего-то не догоняю... почитаю еще раз про Color, спасибо =)

Nox Noctis 09.06.2004 14:41

цвет кодируется шестью байтами RRGGBB

если число больше трехбайтового (больше 16777215 по десятичной системе счисления) - старшие байты просто отбрасываются.

а в трансформе rb gb bb - это по одному байту.. если больше - старшие байты отбрасываются

Whatsername 10.06.2004 10:35

Спасибо, Нокс,
в принципе, мне понятно, о чем ты говоришь. И, как я понимаю, при 100000 происходит переполнение.. думаю, мне не хватает знаний по архитектуре компьютера, сегодня возьму что-нибудь почитать об этом.

Nox Noctis 10.06.2004 12:26

сейчас ломает экспериментировать, чтобы убедиться что всё именно так как я сказал :)

в принципе всё зависит только от того как построено преобразование аргументов в методе setTransform класса Color... надо влезть ручками покопаться :)

Whatsername 10.06.2004 12:55

а чего экспериментировать? Все так и есть - как ты сказал.

Whatsername 10.06.2004 21:58

нет, не дает мне эта штука покоя
посоветовался с нашим программером на работе - он тоже в непонятках.

я набросал исходник, если у тебя, канеш, есть время попробуй задать значение transformObject.rb 255 (11111111) - все славно, но если задать 255555 (111110011001000011 ) красный уходит в 0. О как

Whatsername 10.06.2004 21:59

Вложений: 1
color

Dindin 10.06.2004 22:47

clr = new Color(mc);
clr.setRGB(255<<16|0<<8|0); // красный
clr.setRGB(0<<16|255<<8|0); // зелёный
clr.setRGB(0<<16|0<<8|255); // синий


Так, по моему, проще... или нет?


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

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