Одно и то же число добавляется к красному, зеленому и синему каналам цветов RGB. Каждый цветовой канал ограничен диапазоном от 0 до 255.
Это всегда приводит к более темному цвету, чем любой из первоначальных цветов, если один из них не является белым; в этом случае возвращается второй цвет.
Примечание. При наличии динамического объекта, не имеющего свойств [Bindable] (вынуждающих объект реализовать интерфейс IUID), Flex добавляет свойство
UID имеет вид
Этот идентификатор не будет по-настоящему глобально уникальным; но это лучшее, что можно создать без поддержки проигрывателя при генерации UID.
Этот метод предназначен для клонирования объектов данных, например элементов коллекции. Он не используется для клонирования объектов UIComponent, например элемента управления TextInput. При необходимости клонирования определенного объекта UIComponent следует создать подчиненный класс компонента и реализовать метод
var a:Object = {name:"Bob", info:[1,2,3]}; var b:Object = {name:"Alice", info:[5,6,7]}; var c:int = ObjectUtil.compare(a, b, 0);
В приведенном выше примере при сравнении сложные свойства
Этот метод разработан для копирования объектов данных, например элементов коллекции. Он не предназначен для копирования объектов UIComponent, например элементов управления TextInput. Если требуется создать копии определенных объектов UIComponent, можно создать подкласс этого компонента и реализовать метод
(mx.messaging.messages::AsyncMessage)#2.
Этот идентификатор используется для указания на циклическую ссылку. Свойства объекта типа
public class MyCustomClass { public var clazz:Class; }
Со свойством
(somepackage::MyCustomClass)#0 clazz = (Date)
// example 1 var obj:AsyncMessage = new AsyncMessage(); obj.body = []; obj.body.push(new AsyncMessage()); obj.headers["1"] = { name: "myName", num: 15.3}; obj.headers["2"] = { name: "myName", num: 15.3}; obj.headers["10"] = { name: "myName", num: 15.3}; obj.headers["11"] = { name: "myName", num: 15.3}; trace(ObjectUtil.toString(obj)); // will output to flashlog.txt (mx.messaging.messages::AsyncMessage)#0 body = (Array)#1 [0] (mx.messaging.messages::AsyncMessage)#2 body = (Object)#3 clientId = (Null) correlationId = "" destination = "" headers = (Object)#4 messageId = "378CE96A-68DB-BC1B-BCF7FFFFFFFFB525" sequenceId = (Null) sequencePosition = 0 sequenceSize = 0 timeToLive = 0 timestamp = 0 clientId = (Null) correlationId = "" destination = "" headers = (Object)#5 1 = (Object)#6 name = "myName" num = 15.3 10 = (Object)#7 name = "myName" num = 15.3 11 = (Object)#8 name = "myName" num = 15.3 2 = (Object)#9 name = "myName" num = 15.3 messageId = "1D3E6E96-AC2D-BD11-6A39FFFFFFFF517E" sequenceId = (Null) sequencePosition = 0 sequenceSize = 0 timeToLive = 0 timestamp = 0 // example 2 with circular references obj = {}; obj.prop1 = new Date(); obj.prop2 = []; obj.prop2.push(15.2); obj.prop2.push("testing"); obj.prop2.push(true); obj.prop3 = {}; obj.prop3.circular = obj; obj.prop3.deeper = new ErrorMessage(); obj.prop3.deeper.rootCause = obj.prop3.deeper; obj.prop3.deeper2 = {}; obj.prop3.deeper2.deeperStill = {}; obj.prop3.deeper2.deeperStill.yetDeeper = obj; trace(ObjectUtil.toString(obj)); // will output to flashlog.txt (Object)#0 prop1 = Tue Apr 26 13:59:17 GMT-0700 2005 prop2 = (Array)#1 [0] 15.2 [1] "testing" [2] true prop3 = (Object)#2 circular = (Object)#0 deeper = (mx.messaging.messages::ErrorMessage)#3 body = (Object)#4 clientId = (Null) code = (Null) correlationId = "" destination = "" details = (Null) headers = (Object)#5 level = (Null) message = (Null) messageId = "14039376-2BBA-0D0E-22A3FFFFFFFF140A" rootCause = (mx.messaging.messages::ErrorMessage)#3 sequenceId = (Null) sequencePosition = 0 sequenceSize = 0 timeToLive = 0 timestamp = 0 deeper2 = (Object)#6 deeperStill = (Object)#7 yetDeeper = (Object)#0 // example 3 with Dictionary var point:Point = new Point(100, 100); var point2:Point = new Point(100, 100); var obj:Dictionary = new Dictionary(); obj[point] = "point"; obj[point2] = "point2"; obj["1"] = { name: "one", num: 1}; obj["two"] = { name: "2", num: 2}; obj[3] = 3; trace(ObjectUtil.toString(obj)); // will output to flashlog.txt (flash.utils::Dictionary)#0 {(flash.geom::Point)#1 length = 141.4213562373095 x = 100 y = 100} = "point2" {(flash.geom::Point)#2 length = 141.4213562373095 x = 100 y = 100} = "point" {1} = (Object)#3 name = "one" num = 1 {3} = 3 {"two"} = (Object)#4 name = "2" num = 2
import mx.events.PropertyChangeEvent; import mx.utils.ObjectUtil; import mx.utils.ObjectProxy; import mx.utils.StringUtil; var a:Object = { name: "Tyler", age: 5, ssnum: "555-55-5555" }; var p:ObjectProxy = new ObjectProxy(a); p.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updateHandler); p.name = "Jacey"; p.age = 2; delete p.ssnum; // handler function function updateHandler(event:ChangeEvent):void { trace(StringUtil.substitute("updateHandler('{0}', {1}, {2}, {3}, '{4}')", event.kind, event.property, event.oldValue, event.newValue, event.target.object_proxy::UUID)); } // The trace output appears as: // updateHandler('opUpdate', name, Tyler, Jacey, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2') // updateHandler('opUpdate', age, 5, 2, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2') // updateHandler('opDelete', ssnum, 555-55-5555, null, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
import mx.events.PropertyChangeEvent; import mx.utils.ObjectUtil; import mx.utils.ObjectProxy; import mx.utils.StringUtil; var a:Object = { name: "Tyler", age: 5, ssnum: "555-55-5555" }; var p:ObjectProxy = new ObjectProxy(a); p.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updateHandler); p.name = "Jacey"; p.age = 2; delete p.ssnum; // handler function function updateHandler(event:PropertyChangeEvent):void { trace(StringUtil.substitute("updateHandler('{0}', {1}, {2}, {3}, '{4}')", event.kind, event.property, event.oldValue, event.newValue, event.target.uid)); } // trace output updateHandler('opUpdate', name, Jacey, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2') updateHandler('opUpdate', age, 2, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2') updateHandler('opDelete', ssnum, null, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
public function myTracer(str:String, ... rest):void { label.text += StringUtil.substitute(str, rest) + "\n"; }
Эта строка не включает имя пакета. Если требуется включить также и имя пакета, выполняется вызов метода
Последующие вызовы этого метода выполняют добавление во внутренний буфер. После кодировки всех данных выполняется вызов
Если объект уже является массивом, возвращает этот объект. Если объект не является массивом, возвращает массив, в котором единственным элементом является этот объект. В качестве особого случая, если объект имеет значение null, возвращает пустой массив.
Последующие вызовы этого метода выполняют добавление во внутренний буфер. После окончания кодировки всех данных следует вызвать