我正在将一个游戏移植到XNA4.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;发布于 2012-08-12 22:45:59
在WP7.1中,ReadingChanged事件被标记为已弃用,这是有原因的,它可能会使用CurrentValueChanged读取错误。
如果使用Motion类尝试WP7无济于事,它会更方便
http://msdn.microsoft.com/en-us/library/microsoft.devices.sensors.motion(v=vs.92).aspx
https://stackoverflow.com/questions/11922805
复制相似问题