首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

C#的坚直方向视角如何变换

2012-03-20 
C#的坚直方向视角怎么变换我用下面的函数可以在水平方向上成旋转,可以在竖直方向上,不太对,好像摄像机自身

C#的坚直方向视角怎么变换
我用下面的函数可以在水平方向上成旋转,可以在竖直方向上,不太对,好像摄像机自身也会旋转,然后就不行了 
public void CMoveyz(ref bool btnflag, ref int zhfflag, ref float y, ref int a1, ref int b1, MouseEventArgs e)
  { 判断鼠标按下 坐标轴正负 用于判断上升还是下降 Y坐标 z坐标 我是在mousemove中调用的
  if (btnflag == true)
  {
  if (y < e.Y)
  {
  if (a1 >= 40|| a1<= -40 )
  {
  zhfflag1 = (zhfflag1 + 1) % 2;
  }

  if (zhfflag1 == 1)
  {
  a1 =a1 - 1;
  y = e.Y;
  this.CameraPositioning();
  }
  else
  {
  a1 = a1 + 1;
  y = e.Y;
  this.CameraPositioning();
  }

  }
  else if (y > e.Y)
  {
  if (a1 >=40 || a1 <= -40)
  {
  zhfflag1 = (zhfflag1 + 1) % 2;
  }


  if (zhfflag1 == 1)
  {
  a1 = a1 + 1;
  y = e.Y;
  this.CameraPositioning();
  }
  else
  {
  a1 = a1 - 1;
  y = e.Y;
  this.CameraPositioning();
  }

  }
  else { }

  }
  if (zhfflag1 == 1)
  b1 =-(int)System.Math.Sqrt((double)(1600 - a1 * a1));
  else 
  b1= (int)System.Math.Sqrt((double)(1600 - a1 * a1));
  }

[解决办法]
C#中的中由一个旋转坐标的方法,用那个非常方便,好像是TranslateTransform

热点排行