2020/12/11:从今天开始学习DirectX 2D图形编程,从0基础开始,希望能坚持下去。有兴趣一起学习的小伙伴可以关注我,当我有一周以上的时间没有发文,请发帖给我鼓鼓劲,毕竟自学编程是一件很辛苦的事,特别是我的学历很低,工作也很无聊:因为是学校保安吗,不学点什么似乎不符合氛围。(毕竟学校里边从上到下都是需要学习的人,无论是学生还是老师,甚至保安,似乎除了打扫卫生的或者食堂的阿姨)
学习目的:①找个感兴趣又花费金钱不大且消磨时间的事做做(避免整天玩手机游戏!) 。
②编个自己写的简单游戏。
编程语言:VB6
图形工具:DX8
系统:WIN7 64
教程作者:Jacob Roman
翻译:gosub60@163.com QQ:127644712
教程下载地址:https://download.csdn.net/download/gosub60/13696651
第一个DirectX8应用程序:DirectX8的窗口化源码
打开VB6,启用一个标准程序,窗口的名称改为:frmMain,引用一下DX8的控件(dx8vb.dll)
下边是源码:(CSDN编辑器里似乎没有VB6的代码块选择,因此用的.NET的代码块选择,但源码是VB6的,请注意!)

Option ExplicitPrivate DirectX8 As DirectX8 '主DirectX对象。
Private Direct3D As Direct3D8 '控制3D一切。
Private Direct3D_Device As Direct3DDevice8 '表示硬件渲染。Private Running As Boolean '帮助确定主游戏循环是否正在运行。Private Sub Form_Activate()Dim Display_Mode As D3DDISPLAYMODE '显示模式说明。Dim Direct3D_Window As D3DPRESENT_PARAMETERS 'Backbuffer和视口说明。frmMain.Caption = "DirectX教程:第一个窗口化实例"Set DirectX8 = New DirectX8 '创建DirectX对象。Set Direct3D = DirectX8.Direct3DCreate() '使用DirectX对象创建Direct3D对象。Direct3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, Display_Mode '使用您当前使用的显示模式'已经在。 如果您感到困惑,我是
'                                                                     在谈论您当前的屏幕分辨率。 ;)Direct3D_Window.Windowed = True '该应用程序将处于窗口模式。Direct3D_Window.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '监视器运行时刷新。Direct3D_Window.BackBufferFormat = Display_Mode.Format '设置检索到后缓冲区中的格式。'使用一些有用的信息以及信息创建渲染设备'我们已经设置了Direct3D_Window。Set Direct3D_Device = Direct3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, frmMain.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, Direct3D_Window)Running = True '全部初始化。 现在可以激活游戏循环了。Do While Running = TrueDoEvents '允许事件发生,以便程序不会锁定。'------------------------------------------------- ---'DirectX会自动为您处理帧速率'这使其运行(最多)与监视器一样快
'         刷新率高,因此您无需在其中添加额外的代码
'         降低循环速度并以一定数量的帧运行'每秒。'------------------------------------------------- ---'清除后缓冲区。Direct3D_Device.Clear 0, ByVal 0, D3DCLEAR_TARGET, D3DColorRGBA(0, 0, 0, 0), 1#, 0'渲染代码在这里,但是在本教程中,它现在是空的。'将后缓冲区翻转到窗体窗口中。Direct3D_Device.Present ByVal 0, ByVal 0, 0, ByVal 0LoopEnd SubPrivate Sub Form_Unload(Cancel As Integer)Running = False '帮助程序退出游戏循环。'卸载所有DirectX对象Set Direct3D_Device = NothingSet Direct3D = NothingSet DirectX8 = NothingUnload Me '卸载窗口End '结束程序'尽管上方的Unload语句退出了程序,但是您'这样做后将导致自动化错误?'END 命令 将有助于防止这种情况,并彻底结束该应用程序。End Sub

VB6编程:DirectX 2D图形学习日志1创建一个全屏窗口相关推荐

  1. VB6编程:DirectX 2D图形学习日志22创建卡通动画

    VB6编程:DirectX 2D图形学习日志22创建卡通动画 教程下载地址:https://download.csdn.net/download/gosub60/13696651 作用:使用多幅BMP ...

  2. VB6编程:DirectX 2D图形学习日志20伽玛校正

    VB6编程:DirectX 2D图形学习日志20伽玛校正 教程下载地址:https://download.csdn.net/download/gosub60/13696651 作用:通过按↑和下方向键 ...

  3. VB6编程:DirectX 2D图形学习日志4:总结前3课

    VB6编程:DirectX 2D图形学习日志4:总结前1-3课 教程下载地址:https://download.csdn.net/download/gosub60/13696651 现在,我对源码中出 ...

  4. DirectX 10教程2:创建一个框架和窗口

     源代码下载:dx10tut02.zip 在开始DirectX 10编程之前,我推荐你创建一个简单的框架,这个框架用于处理基本的窗体功能,并可以非常容易地进行扩展.因为本教程的目的是为了演示Dir ...

  5. Win32 OpenGL编程(4) 2D图形基础(颜色及坐标体系进阶知识)

    Win32 OpenGL 编程 (4) 2D 图形基础(颜色及坐标体系进阶知识) write by 九天雁翎 (JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 ...

  6. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  7. sandy引擎学习笔记: 创建一个立方体

    问题:如何利用sandy的类库去创建一个立方体呢? 首先,我们要先了解sandy类库的结构 可以看到上面就官方网放出的类库表,有一些很容易理解,像sandy.events 这个和flash.event ...

  8. kanzi学习第二天-----创建一个状态机

    第 1 步 - 创建状态机控制应用程序状态 在本教程的这一步骤中,您创建状态机控制切换按钮,该按钮可打开/关闭显示身体.腿部和挡风玻璃的空调指示灯.您将创建设置指示灯何时可见的状态组和状态.您还将创建 ...

  9. Vue学习笔记:创建一个Vue实例

    目录 1.访问Vue官网https://cn.vuejs.org,进入学习模块下的教程 2.创建页面index.html 3.通过script标签在head部分引入vue.js 4.在body部分创建 ...

最新文章

  1. java语言编写简易表达式_将简单的表达语言放入Java
  2. 万物互联时代 能效管理是怎样一个玩法?
  3. 利用 commit 理解镜像构成
  4. C++ 外部函数通过指针修改类成员的值
  5. Android开发之EdittText输入0开头金额的限制算法
  6. UI线框图模板素材实际应用好帮手
  7. python开发软件的实例-如何编写Python软件开发文档(7个技巧)
  8. esp分区创建 linux_Elementary OS - 号称最漂亮的 Linux 发行版
  9. python web 模版引擎集合
  10. 计算机音乐apple,Apple Music苹果音乐电脑版
  11. 面试手写代码的经验分享
  12. adobe dreamweaver cs6 css,Adobe Dreamweaver CS6
  13. c语言-蓝桥杯-门牌制作问题
  14. android永久关闭linux,Android临时和永久关闭selinux
  15. 论文邮箱不是导师的_为什么你迟迟收不到研究生导师的回复邮件?
  16. 手机怎么压缩照片?手机压缩照片方法分享
  17. Linux下基于qt的视频监控系统
  18. 2. ansible常用模块
  19. 20191005 (16)金融学课笔记(得到北大经融学课)——复利加速思维
  20. 【手绘漫画】图解LeetCode之两两交换链表中的节点(LeetCode 24)

热门文章

  1. 计算机考试应用选择题,2017计算机应用基础考试选择题「附答案」
  2. 如何办理进出口退税的手续?
  3. amd为什么还用针脚_为啥AMD处理器没散片,而Intel却有,看完这张图就懂了
  4. 张军当选中国羽毛球协会主席 曾获两届奥运冠军
  5. python入门爬虫之爬取百度首页的热搜榜
  6. 递归使用案例:输出对称图形
  7. 操作系统导论-进程概述
  8. 全局变量和局部变量的存储类别,存储位置
  9. excel怎么自动换行
  10. 隐马尔科夫模型python代码详解