 			{
 				parentName = slotObjectInList[A_BONE];
 				firstAttachment = slotObjectInList[ATTACHMENT];
+                var additive:Object = slotObjectInList[ADDITIVE];
+                if(additive && additive is Boolean)
+                {
+                    var isAdditive:Boolean = additive as Boolean;
+                    if(isAdditive)
+                    {
+                        blendMode = "add";
+                    }
+                    else
+                    {
+                        blendMode = "normal";
+                    }
+                }
+                else
+                {
+                    blendMode = "normal";
+                }
 				break;
 			}
 			zOrder ++;
 		}
 		//默认的display标记出来，以便放到displayList的首位
-		skinXML.appendChild(formatSlot(skinObject[slotName], slotName, parentName, firstAttachment, zOrder, textureAtlasXML));
+		skinXML.appendChild(formatSlot(skinObject[slotName], slotName, parentName, firstAttachment, blendMode, zOrder, textureAtlasXML));
 	}
 			
 	return skinXML;
 }
 
-function formatSlot(slotObject:Object, slotName:String, slotParent:String, firstAttachment:String, zOrder:int, textureAtlasXML:XML):XML
+function formatSlot(slotObject:Object, slotName:String, slotParent:String, firstAttachment:String, blendMode:String, zOrder:int, textureAtlasXML:XML):XML
 {
 	var slotXML:XML =
 		<{ConstValues.SLOT}
 			{ConstValues.A_NAME}={slotName}
 			{ConstValues.A_PARENT}={slotParent}
 			{ConstValues.A_Z_ORDER}={zOrder}
+            {ConstValues.A_BLENDMODE}={blendMode}
 		/>;
 	
 	var displayXML:XML;

	{
		scaleX = width / Number(subTextureXML.@[ConstValues.A_WIDTH]);
		scaleY = height / Number(subTextureXML.@[ConstValues.A_HEIGHT]);
		
		if(isNaN(scaleX))
		{

const SCALE:String = "scale";
const COMBINE:String = "combine";
const ATTACHMENT:String = "attachment";
const ADDITIVE:String = "additive";
const COLOR:String = "color";

const A_NAME:String = "name";
