当前位置: 首页>>代码示例>>Java>>正文


Java Transformation.postScale方法代码示例

本文整理汇总了Java中org.andengine.util.adt.transformation.Transformation.postScale方法的典型用法代码示例。如果您正苦于以下问题:Java Transformation.postScale方法的具体用法?Java Transformation.postScale怎么用?Java Transformation.postScale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.andengine.util.adt.transformation.Transformation的用法示例。


在下文中一共展示了Transformation.postScale方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getLocalToParentTransformation

import org.andengine.util.adt.transformation.Transformation; //导入方法依赖的package包/类
@Override
public Transformation getLocalToParentTransformation() {
	if (this.mLocalToParentTransformation == null) {
		this.mLocalToParentTransformation = new Transformation();
	}

	final Transformation localToParentTransformation = this.mLocalToParentTransformation;
	if (this.mLocalToParentTransformationDirty) {
		localToParentTransformation.setToIdentity();

		/* Scale. */
		final float scaleX = this.mScaleX;
		final float scaleY = this.mScaleY;
		if ((scaleX != 1) || (scaleY != 1)) {
			final float scaleCenterX = this.mLocalScaleCenterX;
			final float scaleCenterY = this.mLocalScaleCenterY;

			/* TODO Check if it is worth to check for scaleCenterX == 0 && scaleCenterY == 0 as the two postTranslate can be saved.
			 * The same obviously applies for all similar occurrences of this pattern in this class. */

			localToParentTransformation.postTranslate(-scaleCenterX, -scaleCenterY);
			localToParentTransformation.postScale(scaleX, scaleY);
			localToParentTransformation.postTranslate(scaleCenterX, scaleCenterY);
		}

		/* Skew. */
		final float skewX = this.mSkewX;
		final float skewY = this.mSkewY;
		if ((skewX != 0) || (skewY != 0)) {
			final float skewCenterX = this.mLocalSkewCenterX;
			final float skewCenterY = this.mLocalSkewCenterY;

			localToParentTransformation.postTranslate(-skewCenterX, -skewCenterY);
			localToParentTransformation.postSkew(skewX, skewY);
			localToParentTransformation.postTranslate(skewCenterX, skewCenterY);
		}

		/* Rotation. */
		final float rotation = this.mRotation;
		if (rotation != 0) {
			final float rotationCenterX = this.mLocalRotationCenterX;
			final float rotationCenterY = this.mLocalRotationCenterY;

			localToParentTransformation.postTranslate(-rotationCenterX, -rotationCenterY);
			localToParentTransformation.postRotate(-rotation);
			localToParentTransformation.postTranslate(rotationCenterX, rotationCenterY);
		}

		/* Translation. */
		localToParentTransformation.postTranslate(this.mX, this.mY);

		/* Offset. */
		localToParentTransformation.postTranslate(-this.mLocalOffsetCenterX, -this.mLocalOffsetCenterY);

		this.mLocalToParentTransformationDirty = false;
	}
	return localToParentTransformation;
}
 
开发者ID:ArturVasilov,项目名称:AndroidCourses,代码行数:59,代码来源:Entity.java

示例2: getParentToLocalTransformation

import org.andengine.util.adt.transformation.Transformation; //导入方法依赖的package包/类
@Override
public Transformation getParentToLocalTransformation() {
	if (this.mParentToLocalTransformation == null) {
		this.mParentToLocalTransformation = new Transformation();
	}

	final Transformation parentToLocalTransformation = this.mParentToLocalTransformation;
	if (this.mParentToLocalTransformationDirty) {
		parentToLocalTransformation.setToIdentity();

		/* Offset. */
		parentToLocalTransformation.postTranslate(this.mLocalOffsetCenterX, this.mLocalOffsetCenterY);

		/* Translation. */
		parentToLocalTransformation.postTranslate(-this.mX, -this.mY);

		/* Rotation. */
		final float rotation = this.mRotation;
		if (rotation != 0) {
			final float localRotationCenterX = this.mLocalRotationCenterX;
			final float localRotationCenterY = this.mLocalRotationCenterY;

			parentToLocalTransformation.postTranslate(-localRotationCenterX, -localRotationCenterY);
			parentToLocalTransformation.postRotate(rotation);
			parentToLocalTransformation.postTranslate(localRotationCenterX, localRotationCenterY);
		}

		/* Skew. */
		final float skewX = this.mSkewX;
		final float skewY = this.mSkewY;
		if ((skewX != 0) || (skewY != 0)) {
			final float localSkewCenterX = this.mLocalSkewCenterX;
			final float localSkewCenterY = this.mLocalSkewCenterY;

			parentToLocalTransformation.postTranslate(-localSkewCenterX, -localSkewCenterY);
			parentToLocalTransformation.postSkew(-skewX, -skewY);
			parentToLocalTransformation.postTranslate(localSkewCenterX, localSkewCenterY);
		}

		/* Scale. */
		final float scaleX = this.mScaleX;
		final float scaleY = this.mScaleY;
		if ((scaleX != 1) || (scaleY != 1)) {
			final float localScaleCenterX = this.mLocalScaleCenterX;
			final float localScaleCenterY = this.mLocalScaleCenterY;

			parentToLocalTransformation.postTranslate(-localScaleCenterX, -localScaleCenterY);
			parentToLocalTransformation.postScale(1 / scaleX, 1 / scaleY); // TODO Division could be replaced by a multiplication of 'scale(X/Y)Inverse'...
			parentToLocalTransformation.postTranslate(localScaleCenterX, localScaleCenterY);
		}

		this.mParentToLocalTransformationDirty = false;
	}
	return parentToLocalTransformation;
}
 
开发者ID:ArturVasilov,项目名称:AndroidCourses,代码行数:56,代码来源:Entity.java

示例3: getLocalToParentTransformation

import org.andengine.util.adt.transformation.Transformation; //导入方法依赖的package包/类
@Override
public Transformation getLocalToParentTransformation() {
	if(this.mLocalToParentTransformation == null) {
		this.mLocalToParentTransformation = new Transformation();
	}

	final Transformation localToParentTransformation = this.mLocalToParentTransformation;
	if(this.mLocalToParentTransformationDirty) {
		localToParentTransformation.setToIdentity();

		/* Scale. */
		final float scaleX = this.mScaleX;
		final float scaleY = this.mScaleY;
		if((scaleX != 1) || (scaleY != 1)) {
			final float scaleCenterX = this.mScaleCenterX;
			final float scaleCenterY = this.mScaleCenterY;

			/* TODO Check if it is worth to check for scaleCenterX == 0 && scaleCenterY == 0 as the two postTranslate can be saved.
			 * The same obviously applies for all similar occurrences of this pattern in this class. */

			localToParentTransformation.postTranslate(-scaleCenterX, -scaleCenterY);
			localToParentTransformation.postScale(scaleX, scaleY);
			localToParentTransformation.postTranslate(scaleCenterX, scaleCenterY);
		}

		/* Skew. */
		final float skewX = this.mSkewX;
		final float skewY = this.mSkewY;
		if((skewX != 0) || (skewY != 0)) {
			final float skewCenterX = this.mSkewCenterX;
			final float skewCenterY = this.mSkewCenterY;

			localToParentTransformation.postTranslate(-skewCenterX, -skewCenterY);
			localToParentTransformation.postSkew(skewX, skewY);
			localToParentTransformation.postTranslate(skewCenterX, skewCenterY);
		}

		/* Rotation. */
		final float rotation = this.mRotation;
		if(rotation != 0) {
			final float rotationCenterX = this.mRotationCenterX;
			final float rotationCenterY = this.mRotationCenterY;

			localToParentTransformation.postTranslate(-rotationCenterX, -rotationCenterY);
			localToParentTransformation.postRotate(rotation);
			localToParentTransformation.postTranslate(rotationCenterX, rotationCenterY);
		}

		/* Translation. */
		localToParentTransformation.postTranslate(this.mX, this.mY);

		this.mLocalToParentTransformationDirty = false;
	}
	return localToParentTransformation;
}
 
开发者ID:peterchaula,项目名称:ClassicF1,代码行数:56,代码来源:Entity.java

示例4: getParentToLocalTransformation

import org.andengine.util.adt.transformation.Transformation; //导入方法依赖的package包/类
@Override
public Transformation getParentToLocalTransformation() {
	if(this.mParentToLocalTransformation == null) {
		this.mParentToLocalTransformation = new Transformation();
	}

	final Transformation parentToLocalTransformation = this.mParentToLocalTransformation;
	if(this.mParentToLocalTransformationDirty) {
		parentToLocalTransformation.setToIdentity();

		/* Translation. */
		parentToLocalTransformation.postTranslate(-this.mX, -this.mY);

		/* Rotation. */
		final float rotation = this.mRotation;
		if(rotation != 0) {
			final float rotationCenterX = this.mRotationCenterX;
			final float rotationCenterY = this.mRotationCenterY;

			parentToLocalTransformation.postTranslate(-rotationCenterX, -rotationCenterY);
			parentToLocalTransformation.postRotate(-rotation);
			parentToLocalTransformation.postTranslate(rotationCenterX, rotationCenterY);
		}

		/* Skew. */
		final float skewX = this.mSkewX;
		final float skewY = this.mSkewY;
		if((skewX != 0) || (skewY != 0)) {
			final float skewCenterX = this.mSkewCenterX;
			final float skewCenterY = this.mSkewCenterY;

			parentToLocalTransformation.postTranslate(-skewCenterX, -skewCenterY);
			parentToLocalTransformation.postSkew(-skewX, -skewY);
			parentToLocalTransformation.postTranslate(skewCenterX, skewCenterY);
		}

		/* Scale. */
		final float scaleX = this.mScaleX;
		final float scaleY = this.mScaleY;
		if((scaleX != 1) || (scaleY != 1)) {
			final float scaleCenterX = this.mScaleCenterX;
			final float scaleCenterY = this.mScaleCenterY;

			parentToLocalTransformation.postTranslate(-scaleCenterX, -scaleCenterY);
			parentToLocalTransformation.postScale(1 / scaleX, 1 / scaleY); // TODO Division could be replaced by a multiplication of 'scale(X/Y)Inverse'...
			parentToLocalTransformation.postTranslate(scaleCenterX, scaleCenterY);
		}

		this.mParentToLocalTransformationDirty = false;
	}
	return parentToLocalTransformation;
}
 
开发者ID:peterchaula,项目名称:ClassicF1,代码行数:53,代码来源:Entity.java


注:本文中的org.andengine.util.adt.transformation.Transformation.postScale方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。