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


Java MathUtils.radToDeg方法代码示例

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


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

示例1: onUpdateControlKnob

import org.andengine.util.math.MathUtils; //导入方法依赖的package包/类
@Override
protected void onUpdateControlKnob(final float pRelativeX, final float pRelativeY) {
	if (pRelativeX == 0 && pRelativeY == 0) {
		super.onUpdateControlKnob(0, 0);
		return;
	}

	if (this.mAllowDiagonal) {
		final float angle = MathUtils.radToDeg(MathUtils.atan2(pRelativeY, pRelativeX)) + 180;
		if (this.testDiagonalAngle(0, angle) || this.testDiagonalAngle(360, angle)) {
			super.onUpdateControlKnob(-EXTENT_SIDE, 0);
		} else if (this.testDiagonalAngle(45, angle)) {
			super.onUpdateControlKnob(-EXTENT_DIAGONAL, -EXTENT_DIAGONAL);
		} else if (this.testDiagonalAngle(90, angle)) {
			super.onUpdateControlKnob(0, -EXTENT_SIDE);
		} else if (this.testDiagonalAngle(135, angle)) {
			super.onUpdateControlKnob(EXTENT_DIAGONAL, -EXTENT_DIAGONAL);
		} else if (this.testDiagonalAngle(180, angle)) {
			super.onUpdateControlKnob(EXTENT_SIDE, 0);
		} else if (this.testDiagonalAngle(225, angle)) {
			super.onUpdateControlKnob(EXTENT_DIAGONAL, EXTENT_DIAGONAL);
		} else if (this.testDiagonalAngle(270, angle)) {
			super.onUpdateControlKnob(0, EXTENT_SIDE);
		} else if (this.testDiagonalAngle(315, angle)) {
			super.onUpdateControlKnob(-EXTENT_DIAGONAL, EXTENT_DIAGONAL);
		} else {
			super.onUpdateControlKnob(0, 0);
		}
	} else {
		if (Math.abs(pRelativeX) > Math.abs(pRelativeY)) {
			if (pRelativeX > 0) {
				super.onUpdateControlKnob(EXTENT_SIDE, 0);
			} else if (pRelativeX < 0) {
				super.onUpdateControlKnob(-EXTENT_SIDE, 0);
			} else if (pRelativeX == 0) {
				super.onUpdateControlKnob(0, 0);
			}
		} else {
			if (pRelativeY > 0) {
				super.onUpdateControlKnob(0, EXTENT_SIDE);
			} else if (pRelativeY < 0) {
				super.onUpdateControlKnob(0, -EXTENT_SIDE);
			} else if (pRelativeY == 0) {
				super.onUpdateControlKnob(0, 0);
			}
		}
	}
}
 
开发者ID:ArturVasilov,项目名称:AndroidCourses,代码行数:49,代码来源:DigitalOnScreenControl.java

示例2: onUpdateControlKnob

import org.andengine.util.math.MathUtils; //导入方法依赖的package包/类
@Override
protected void onUpdateControlKnob(final float pRelativeX, final float pRelativeY) {
	if(pRelativeX == 0 && pRelativeY == 0) {
		super.onUpdateControlKnob(0, 0);
		return;
	}

	if(this.mAllowDiagonal) {
		final float angle = MathUtils.radToDeg(MathUtils.atan2(pRelativeY, pRelativeX)) + 180;
		if(DigitalOnScreenControl.testDiagonalAngle(0, angle) || DigitalOnScreenControl.testDiagonalAngle(360, angle)) {
			super.onUpdateControlKnob(-EXTENT_SIDE, 0);
		} else if(DigitalOnScreenControl.testDiagonalAngle(45, angle)) {
			super.onUpdateControlKnob(-EXTENT_DIAGONAL, -EXTENT_DIAGONAL);
		} else if(DigitalOnScreenControl.testDiagonalAngle(90, angle)) {
			super.onUpdateControlKnob(0, -EXTENT_SIDE);
		} else if(DigitalOnScreenControl.testDiagonalAngle(135, angle)) {
			super.onUpdateControlKnob(EXTENT_DIAGONAL, -EXTENT_DIAGONAL);
		} else if(DigitalOnScreenControl.testDiagonalAngle(180, angle)) {
			super.onUpdateControlKnob(EXTENT_SIDE, 0);
		} else if(DigitalOnScreenControl.testDiagonalAngle(225, angle)) {
			super.onUpdateControlKnob(EXTENT_DIAGONAL, EXTENT_DIAGONAL);
		} else if(DigitalOnScreenControl.testDiagonalAngle(270, angle)) {
			super.onUpdateControlKnob(0, EXTENT_SIDE);
		} else if(DigitalOnScreenControl.testDiagonalAngle(315, angle)) {
			super.onUpdateControlKnob(-EXTENT_DIAGONAL, EXTENT_DIAGONAL);
		} else {
			super.onUpdateControlKnob(0, 0);
		}
	} else {
		if(Math.abs(pRelativeX) > Math.abs(pRelativeY)) {
			if(pRelativeX > 0) {
				super.onUpdateControlKnob(EXTENT_SIDE, 0);
			} else if(pRelativeX < 0) {
				super.onUpdateControlKnob(-EXTENT_SIDE, 0);
			} else if(pRelativeX == 0) {
				super.onUpdateControlKnob(0, 0);
			}
		} else {
			if(pRelativeY > 0) {
				super.onUpdateControlKnob(0, EXTENT_SIDE);
			} else if(pRelativeY < 0) {
				super.onUpdateControlKnob(0, -EXTENT_SIDE);
			} else if(pRelativeY == 0) {
				super.onUpdateControlKnob(0, 0);
			}
		}
	}
}
 
开发者ID:peterchaula,项目名称:ClassicF1,代码行数:49,代码来源:DigitalOnScreenControl.java


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