我将2个游戏对象放在屏幕的左下角和右上角。所以我使用2个游戏对象来形成边框。并使用boundary类创建一个绑定,以便它将停止我的gameobject的枢轴点,我将使用accelometer将其移动到绑定内(这意味着我有2个边框,外边框和内边框,我使用边界绘制内边框从公式I导出的宽度和高度计算。)
这是代码
void Start ()
{
valueOfHeight = (Screen.height * 110 )/ 320;
valueOfWidth = (Screen.width * 110 )/ 480;
Boundaries = new Bounds (new Vector3(Screen.width/2,Screen.height/2,0f),new Vector3(Screen.width - valueOfWidth,Screen.height - valueOfHeight,0f));
}
void Update ()
{
if(gameObject.transform.position.x > Cornerpoints [1].transform.position.x &&
gameObject.transform.position.x < Cornerpoints [3].transform.position.x&&
gameObject.transform.position.y > Cornerpoints [1].transform.position.y&&
gameObject.transform.position.y < Cornerpoints [3].transform.position.y)
{
Debug.Log("1");
gameObject.transform.position = Boundaries.ClosestPoint(gameObject.transform.position);
if (Boundaries.Contains (gameObject.transform.position))
{
Debug.Log("2");
direction = new Vector3 ((Input.acceleration.x), (Input.acceleration.y), 0);
}
但是这里的问题我的游戏对象是在边界的一侧(大多数是左侧)猛拉。如果问题出现在所有方面意味着,我的代码是错误的。但它只发生在边界的左侧和我检查了日志,(我保留了日志1和2),看到当gameobejct到达边框的左侧时,它的1只是执行所以它看起来像抽搐。但它不是发生在所有方面。我想要知道为什么?提前致谢。