编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
托管的 Direct3D之 使用 Frame Hierarchy 创建动画(翻译),找了很久关于托管的DirectX编的资料实在是很少,无意中发现了这编文章http://www.jkarlsson.com/Articles/loadframes.asp觉得对学习托管的Direct3D学习很有帮助。所以翻译来与大家共享。另外,本人的英语水平有限,翻不好的地方大家不要见怪。欢迎大家指出有误的地方。谢谢。本人QQ:173257128(koy075,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> .NET 专区 >> NET 技术 >> 文章正文
【字体:
托管的 Direct3D之 使用 Frame Hierarchy 创建动画(翻译)   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:本站    点击数:    更新时间:2007-6-10    

托管的 Direct3D之 使用 Frame Hierarchy 创建动画(翻译)

 

让我们看看我们刚才创建的类是怎么建立一个坦克模形专用的类来。我们定义了一个 Tank 类,还给它增加了一此关于它的位置,方向,斜率等属性。还有炮塔的角度。

 

我们重写了GraphicsObject类的Initialize方法。增加了一个事件处理程序给SetupCustomTransform 事件。这让我们在宣染对象前有设置自定义变换的机会。Tank_SetupCustomTransform  事件处理程序找到body帧并从它的bearingpitchrollposition属性计算出CustomTransform  。然后找到turret 帧计算出炮台的自义角度。

 

public class Tank : GraphicsObject
{
    ...
  public override void Initialize()
  {
    base.Initialize();
    this.SetupCustomTransform +=
      new EventHandler(this.Tank_SetupCustomTransform);
  }

  public void Tank_SetupCustomTransform(object sender, EventArgs e)
  {
    // Apply the transformation on the whole tank.
    this.GetFrame("Body").CustomTransform =
      Matrix.RotationYawPitchRoll(this.bearing, this.pitch, this.roll)*
      Matrix.Translation(this.position);

    // Apply this transformation on the turret only.
    this.GetFrame("Turret").CustomTransform =
      Matrix.RotationY(this.turretAngle);
  }
    ...
}

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ... 下一页  >> 

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 编程资料集中营