我正在将游戏移植到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;
答案 0 :(得分:0)
ReadingChanged
事件被标记为已弃用,因为有一些原因可能是使用CurrentValueChanged
读取错误。
如果不能帮助尝试使用Motion
类的WP7,那就更有意义了
http://msdn.microsoft.com/en-us/library/microsoft.devices.sensors.motion(v=vs.92).aspx