DirectX 向量数据类型学习

安装DirectX SDK;

新建一个C# winform项目;添加DirectX引用;相关dll在directX安装目录;

 认识一下DirectX的向量数据类型;只是使用Vector2、Vector3、Vector4数据类型,只添加 Microsoft.DirectX 一个命名空间即可;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
//using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.DirectX;

namespace xt
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Vector3 a1 = new Vector3(20, 10, 1);
            Vector3 a2 = new Vector3(20.05f, 10.05f, 1.05f);
            Vector3 a3 = a1 + a2;
            Vector3 a4 = a2 * 10;

            Vector2 b1 = new Vector2(5, 5);
            Vector2 b2 = new Vector2(5.5f, 6.5f);

            Vector4 c1 = new Vector4(1.0f, 2.0f, 2.0f, 3.0f);

            textBox1.Text = textBox1.Text + a2.X.ToString() + "," + a2.Y.ToString() + "," + a2.Z.ToString() + Environment.NewLine;
            textBox1.Text = textBox1.Text + a4.X.ToString() + "," + a4.Y.ToString() + "," + a4.Z.ToString() + Environment.NewLine;
            textBox1.Text = textBox1.Text + c1.X.ToString() + "," + c1.Y.ToString() + "," + c1.Z.ToString() + "," + c1.W.ToString() + Environment.NewLine;
        }
    }
}

一共有3种向量数据类型,Vector2、Vector3、Vector4;分别有2、3、4个成员;

成员是float类型;

            Vector3 a1 = new Vector3(20, 10, 1);
            Vector3 a2 = new Vector3(20.05f, 10.05f, 1.05f);

     这么写是可以的;Vector3(20.05, 10.05, 1.05),这么写则报错;

向量可以直接相加,或进行数乘;

然后输出几个向量的成员看一下;

运行程序;如果出现 VS正在等待某个操作 的错误,去掉下图 启用IntelliTrace 的勾;

出现下面2个错误;

 

 

把.net framework 版本改为2.0;

改为2.0以后一些引用无效了,如下图变黄的;移除;

 

相关的一些命名空间注释掉;

//using System.Linq;
//using System.Threading.Tasks;

再运行,又出现下图错误; 下回继续;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值