XNA WP7加速度计控件

时间:2012-08-12 14:10:33

标签: xna accelerometer xna-4.0

我正在将游戏移植到XNA 4.0 WP7项目,但是我遇到了一些控件问题。我正在使用加速计来控制运动,但有时船会完全跳到屏幕的另一个区域。我有以下代码用于控件。

    Accelerometer _motion;
    Vector2 accelReading = new Vector2();
    private float speed = 50.0f;

    //Initialize
    _motion = new Accelerometer();

    _motion.ReadingChanged += new EventHandler<AccelerometerReadingEventArgs>(AccelerometerReadingChanged);

    _motion.Start();

    //Method for Changed Readings
    public void AccelerometerReadingChanged(object sender, AccelerometerReadingEventArgs e)
    {
        accelReading.X = (float)e.X;
        accelReading.Y = (float)e.Y;

        vel.X = accelReading.Y * speed;
        vel.Y = accelReading.X * speed;
    }

    //Update
     float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;

     pos += vel * elapsed;

     vel *= 1 - elapsed;

1 个答案:

答案 0 :(得分:0)

在WP 7.1中,

ReadingChanged事件被标记为已弃用,因为有一些原因可能是使用CurrentValueChanged读取错误。

如果不能帮助尝试使用Motion类的WP7,那就更有意义了

http://msdn.microsoft.com/en-us/library/microsoft.devices.sensors.motion(v=vs.92).aspx