文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> 资讯>新的 Windows Phone 7 项目托管平台

新的 Windows Phone 7 项目托管平台

时间:2011-08-03  来源:cnblogs

CodePlex是很多托管Windows Phone 7项目的普通的地方之一,它对于许多开发者来说可以算是权威的,因为它是免费的、能够托管源码、二进制文件、文档、工作项目、讨论,还支持直接插入到Visual Studio中。这就是说,它适用于有不同需求、喜好的开发者。
还有一个新的Windows Phone 7项目托管的地方,可能微软领域的开发者没有考虑到或曾听过,但是不久之后就会意识到。

谁在负责这个神秘项目?诺基亚!是的,诺基亚。下面来看一个典型的托管项目。
Bubble Level Silverlight
举个简单的Silverlight例子,使用加速度传感器来计算设备的倾斜度,并以泡泡的位置来显示水平度。

特别值得注意的是wiki页面,在这里你可以看到一个伟大的故事,包括介绍这个项目是如何创建并完成的。

这是一个简单的应用程序,但有时简单正是你所需要的。下面是项目的截图和代码片段。

C#代码

  1. /// <summary>  
  2. /// Updates the position of the bubble in the glass tube.  
  3. /// </summary>  
  4. /// <param name="e">Contains the accelerometer reading value.</param>  
  5. protected void UpdateBubble(AccelerometerReadingEventArgs e)  
  6. {  
  7.      const double RADIANS_TO_DEGREE = 57.2957795;  
  8.      double divider = Math.Sqrt(e.X * e.X + e.Y * e.Y + e.Z * e.Z);  
  9.      // Calculating the angle + using low pass factor 20 %.  
  10.      // Values from all three accelerometers are used to get more precise reading on y-axis.  
  11.      m_Angle += (Math.Acos(e.Y / divider) * RADIANS_TO_DEGREE - 90 - m_Angle) * 0.2;  
  12.      double angle;  
  13.      // Depending on the orientation, invert the accelerometer value  
  14.      if (Orientation == PageOrientation.LandscapeLeft)  
  15.      {  
  16.          angle = -m_Angle + m_CalibrationFactor;  
  17.      }  
  18.      else 
  19.      {  
  20.          angle = m_Angle - m_CalibrationFactor;  
  21.      }  
  22.      const double MAX_ANGLE = 20.0;  
  23.      // Restrict the angle value to the range -20 and 20 degrees.  
  24.      if (angle > MAX_ANGLE)  
  25.      {  
  26.          angle = MAX_ANGLE;  
  27.      }  
  28.      else if (angle < -MAX_ANGLE)  
  29.      {  
  30.          angle = -MAX_ANGLE;  
  31.      }  
  32.      // Set the bubble position.  
  33.      BubbleTransform.X = angle / MAX_ANGLE * (Reflection.Width / 2 - Bubble.Width / 2);  

/// <summary>

/// Updates the position of the bubble in the glass tube.

/// </summary>

/// <param name="e">Contains the accelerometer reading value.</param>

protected void UpdateBubble(AccelerometerReadingEventArgs e)

{

const double RADIANS_TO_DEGREE = 57.2957795;

double divider = Math.Sqrt(e.X * e.X + e.Y * e.Y + e.Z * e.Z);

// Calculating the angle + using low pass factor 20 %.

// Values from all three accelerometers are used to get more precise reading on y-axis.

m_Angle += (Math.Acos(e.Y / divider) * RADIANS_TO_DEGREE - 90 - m_Angle) * 0.2;

double angle;

// Depending on the orientation, invert the accelerometer value

if (Orientation == PageOrientation.LandscapeLeft)

{

angle = -m_Angle + m_CalibrationFactor;

}

else

{

angle = m_Angle - m_CalibrationFactor;

}

const double MAX_ANGLE = 20.0;

// Restrict the angle value to the range -20 and 20 degrees.

if (angle > MAX_ANGLE)

{

angle = MAX_ANGLE;

}

else if (angle < -MAX_ANGLE)

{

angle = -MAX_ANGLE;

}

// Set the bubble position.

BubbleTransform.X = angle / MAX_ANGLE * (Reflection.Width / 2 - Bubble.Width / 2);

}

VIA http://channel9.msdn.com/coding4fun/blog/Theres-a-new-Windows-Phone-7-project-place-in-town


  

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载