public void updateOffset() { final float width = width(); final float height = height(); final float regionScaleX = width / region.width * scaleX; final float regionScaleY = height / region.height * scaleY; final float localX = -width * 0.5f * scaleX + region.offsetX * regionScaleX; final float localY = -height * 0.5f * scaleY + region.offsetY * regionScaleY; final float localX2 = localX + region.width * regionScaleX; final float localY2 = localY + region.height * regionScaleY; final float radians = MathUtil.degToRad(rotation); final float cos = MathUtil.cos(radians); final float sin = MathUtil.sin(radians); final float localXCos = localX * cos + x; final float localXSin = localX * sin; final float localYCos = localY * cos + y; final float localYSin = localY * sin; final float localX2Cos = localX2 * cos + x; final float localX2Sin = localX2 * sin; final float localY2Cos = localY2 * cos + y; final float localY2Sin = localY2 * sin; offset[BOTTOM_LEFT_X] = localXCos - localYSin; offset[BOTTOM_LEFT_Y] = localYCos + localXSin; offset[TOP_LEFT_X] = localXCos - localY2Sin; offset[TOP_LEFT_Y] = localY2Cos + localXSin; offset[TOP_RIGHT_X] = localX2Cos - localY2Sin; offset[TOP_RIGHT_Y] = localY2Cos + localX2Sin; offset[BOTTOM_RIGHT_X] = localX2Cos - localYSin; offset[BOTTOM_RIGHT_Y] = localYCos + localX2Sin; }
public void color(final float r, final float g, final float b, final float a) { this.r = MathUtil.clamp(r, 0.0f, 1.0f); this.g = MathUtil.clamp(g, 0.0f, 1.0f); this.b = MathUtil.clamp(b, 0.0f, 1.0f); this.a = MathUtil.clamp(a, 0.0f, 1.0f); }