 		if ((_flags & PROPERTIES_VALID) == false) validatePropertiesFromMatrix();
 		if(value == _x)
 			return;
-		_x = value;
-		invalidate(INVALIDATE_FROM_PROPERTY,false);
+		translateBy(value-_x,0,0);
+		invalidate(0,false);
 	}
     /**
      * @private

				
			_flags |= M3D_FLAGS_VALID;
		}
	}
	


				case SOURCE_PROPERTIES:
					matrixIs3D = ( // note that rotationZ is the same as rotation, and not a 3D affecting							
					  	_scaleZ != 1 ||  // property.
					  	(Math.abs(_rotationX)%360) != 0 ||
					  	(Math.abs(_rotationY)%360) != 0 ||
					  	_z != 0
					  	);
					break;
