首页
学习
活动
专区
圈层
工具
发布

游戏编程之三 DirectX SDK简介

这些规则和方针如下:   *利用C++的威力,但不能把程序员吓倒   *使从标准API调用到类库的转换尽可能简单   *允许混合使用传统的函数调用和新的类库   *在设计类库的时候综合考虑功能和效率...从应用程序的角度来看,消息是关于发生的事件的通知。用户可以通过按下或移动鼠标来产生这些事件,也可以是通过改变窗口大小或选择一个菜单项等。这些事件也可以由应用程序本身产生。...这种图形符号可以改变形状以指明特定的Windows操作。比如,当标准的箭头光标变为沙漏光标时说明Windows正在执行一个命令,需要暂停。...但是,可以用鼠标来改变编辑光标的输入点。 消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)...从应用程序的角度来看,消息可以看作是发生的事件的通知,有些需要作出特定的反应,有些就不需要。这些事件可能由用户产生,比如按下了鼠标或移动了鼠标,改变了窗口的大小或者选择了一个菜单。

97000
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    游戏编程之二 windows编程基础

    从应用程序的角度来看,消息是关于发生的事件的通知。用户可以通过按下或移动鼠标来产生这些事件,也可以是通过改变窗口大小或选择一个菜单项等。这些事件也可以由应用程序本身产生。...从应用程序的角度来看,消息可以看作是发生的事件的通知,有些需要作出特定的反应,有些就不需要。这些事件可能由用户产生,比如按下了鼠标或移动了鼠标,改变了窗口的大小或者选择了一个菜单。...这些规则和方针如下:   *利用C++的威力,但不能把程序员吓倒   *使从标准API调用到类库的转换尽可能简单   *允许混合使用传统的函数调用和新的类库   *在设计类库的时候综合考虑功能和效率   ...从应用程序的角度来看,消息是关于发生的事件的通知。用户可以通过按下或移动鼠标来产生这些事件,也可以是通过改变窗口大小或选择一个菜单项等。这些事件也可以由应用程序本身产生。...从应用程序的角度来看,消息可以看作是发生的事件的通知,有些需要作出特定的反应,有些就不需要。这些事件可能由用户产生,比如按下了鼠标或移动了鼠标,改变了窗口的大小或者选择了一个菜单。

    56210

    C#_FindWindow

    = 0x46; //发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数 const int WM_WINDOWPOSCHANGED...= 0x4A; //当某个用户取消程序日志激活状态,提交此消息给程序 const int WM_CANCELJOURNA = 0x4B; //当某个控件的某个事件已经发生或这个控件需要得到一些信息时...WM_INPUTLANGCHANGEREQUEST = 0x50; //当平台现场已经被改变后发送此消息给受影响的最顶级窗口 const int WM_INPUTLANGCHANGE...= 0x51; //当程序已经初始化windows帮助例程时发送此消息给应用程序 const int WM_TCARD = 0x52; //此消息显示用户按下了...; //当调用SETWINDOWLONG函数将要改变一个或多个 窗口的风格时发送此消息给那个窗口 const int WM_STYLECHANGING = 0x7C;

    1.1K40

    WinAPI 极简教程:超简单的 Windows 接口入门

    不同于 Python、Java 等语言的跨平台框架,WinAPI 是 Windows 专属的底层接口,主要基于 C/C++ 语言设计(也可通过其他语言间接调用),其设计思路深深契合 Windows 的消息驱动机制...2. mode和title 命令 在此之前我们先了解一下C语言中的window库: windows.h>是 Windows 系统下 C/C++ 编程的核心头文件,它是访问 WinAPI(Windows...GetConsoleCursorInfo() 函数 GetConsoleCursorInfo()是 Windows API 中专门用于获取控制台光标属性的函数,它能返回光标的可见性状态和大小比例,是精细控制控制台光标外观的基础...,用于接收光标信息 通过这个函数我们得到了现在光标的信息,下面先介绍一下CONSOLE_CURSOR_INFO 结构体 5....SetConsoleCursorPosition() 函数 SetConsoleCursorPosition() 是Windows API 中专门用于设置控制台光标位置的函数,通过它可以将光标移动到控制台窗口的任意指定位置

    12310

    Emacs Lisp2

    ,下面的表达式给变量my-name赋值"Bastien"(setq my-name "Bastien");; ^ 把光标停在这里,再键入C-x C-e;; 下面insert函数的作用是在光标所在出插入字符...;; ^ 把光标停在这里,再键入C-x C-e;; insert函数还可以两个常量字符,比如(insert "Hello" " world!")...,再键入C-x C-e 执行defun命令来定义函数;; 通过defun命令,你已经在Emacs中安装了这个hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义...,这个函数可以帮助Elisp程序从用户处得到输入(read-from-minibuffer "Enter your name: ");; 比如如果我们希望greeting函数能够从用户处得到姓名,并且做打印格式化的欢迎信息...)))(other-window 1));; 执行这个函数 (boldify-names)== 帮助和参考==;; 在Emacs中我们可以通过如下的方式得到变量和函数的帮助信息;; C-h v a-variable

    1.6K40

    基于消息的事件驱动机制(Message Based, Event Driven)

    下图的模型从Windows应用程序而来,但是具有一定的通用性。 ? 2....不用做任何开发工作,就可以得到一个自带菜单栏、工具栏、状态栏、属性展示框等丰富的界面框架。不过现在MFC已经没落,除了历史项目,已经很少有新项目,采用MFC。...Windows API 函数 GetMessage 从消息队列中读取消息 TranslateMessage 消息翻译、转换。...4.3.1 操作系统层支持 1)Windows IOCP 2)CentOS Epoll 3)xxxBSD kqueue 4.3.2 语言层面的框架支持 1)C/C++ libevent/Muduo/Asio...要关注的事件进行注册,服务端监听SOCKET 主要关注有没有新的连接进来; 一般性SOCKET关注是否有数据进来,需要读取; 超时,事件处理; … 3)进入等待状态,有事件进来时,操作系统会进行通知;

    3.1K20

    500行代码实现贪吃蛇(1)

    1.1 Win32 API Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外, 它同时也是⼀个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗...WIN32 API也就是Microsoft Windows32位平台的应用程序编程接口。 1.2 控制台程序(Console) 平常我们运行起来的黑框程序其实就是控制台程序。...光标外观会变化,范围从完全填充单元格到单元底部的水平线条。 bVisible,游标的可见性,如果光标可见,则此成员为 TRUE。...控制台窗口的坐标如下所示,横向的是X轴,从左向右依次增长,纵向是Y轴,从上到下依次增长。...但地区的改变可能会影响库的许多部分,其中⼀部分可能是我们不希望修改的。

    44210

    CC++常用控制台函数

    C/C++常用控制台函数 前言:包含头文件Windows.h #includeWindows.h> 需要说明的是,这个头文件包含了大多数win api函数的定义,绝不仅仅只包含控制台api 查看操作控制台的全部可使用...,更改光标大小 主要用到的函数为:SetConsoleCursorInfo 但为了不改变其它属性,还用到了:GetConsoleCursorInfo 函数原型: BOOL WINAPI GetConsoleCursorInfo...system("pause"); } 4.改变光标位置 这个很简单,用到一个API函数:SetConsoleCursorPosition 原型: BOOL WINAPI SetConsoleCursorPosition...; } 7.改变字体 NULL 8.改变背景颜色 官方文档中,我没有找到可以改变整个窗口背景颜色的API,但是可以采用批处理命令实现 该方法可同时改变背景色和文字颜色 官方文档: 使用: #include...Windows.h> #include using namespace std; int main() { system("color 0C"); //设置背景为黑色,字体为淡红色

    1.6K31

    CC++常用控制台函数

    C/C++常用控制台函数 前言:包含头文件Windows.h #includeWindows.h> 需要说明的是,这个头文件包含了大多数win api函数的定义,绝不仅仅只包含控制台api 查看操作控制台的全部可使用...,更改光标大小 主要用到的函数为:SetConsoleCursorInfo 但为了不改变其它属性,还用到了:GetConsoleCursorInfo 函数原型: BOOL WINAPI GetConsoleCursorInfo...system("pause"); } 4.改变光标位置 这个很简单,用到一个API函数:SetConsoleCursorPosition 原型: BOOL WINAPI SetConsoleCursorPosition...; } 7.改变字体 NULL 8.改变背景颜色 官方文档中,我没有找到可以改变整个窗口背景颜色的API,但是可以采用批处理命令实现 该方法可同时改变背景色和文字颜色 官方文档: 使用: #include...Windows.h> #include using namespace std; int main() { system("color 0C"); //设置背景为黑色,字体为淡红色

    1K20

    Win32 API介绍​(COORD、GetStdHandle、GetConsoleCursorInfo 、SetConsoleCursorInfo)、<locale.h>本地化、类项

    Win32 API介绍​ Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗...WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。​...COORD是Windows API中定义的一个结构体,表示一个字符在控制台屏幕缓冲区上的坐标,坐标(0,0)的原点位于缓冲区的顶部左侧单元格。...光标外观会变化,范围从完全填充单元格到单元底部的水平线条。...类项 ​通过修改地区,程序可以改变它的行为来适应世界的不同区域。但地区的改变可能会影响库的许多部分,其中一部分可能是我们不希望修改的。

    66010

    游戏编程之五 DirectSound

    这样就初始化了Windows和剪裁器对象之间的通讯。当桌面上的任何一个窗口发生变化时,剪裁器对象就会得到通知,并作出反应。GetHWnd()函数用于决定剪裁器同哪一个窗口句柄连接。...这种图形符号可以改变形状以指明特定的Windows操作。比如,当标准的箭头光标变为沙漏光标时说明Windows正在执行一个命令,需要暂停。...但是,可以用鼠标来改变编辑光标的输入点。 消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)...从应用程序的角度来看,消息可以看作是发生的事件的通知,有些需要作出特定的反应,有些就不需要。这些事件可能由用户产生,比如按下了鼠标或移动了鼠标,改变了窗口的大小或者选择了一个菜单。...如你所知,所有Windows函数的参数是通过系统来传递的。函数的参数从最右边的参数开始向左压入栈,这是标准的C方式。在从函数返回之前,调用过程必须按原来压入栈的字节数调整栈指针。

    52110

    【Chromium中文文档】Chromium如何展示网页

    这个文档从底层描述了Chromium是如何展示网页的。请确认你已经读过多进程架构这篇文章。你会特别想要了解主要组件的框架。你也可能对多进程资源加载感兴趣,以了解网页是如何从网络中获取到的。...它代理通知,并跨过进程边界执行指令。 WebContents:一个可重用的组件,是内容模块的主类。它易于嵌入,允许多进程将HTML绘制成View。...WebKit胶水层将Chromium代码的其他部分与WebCore数据类型隔离开,以帮助减少WebCore的改变对Chromium代码基础的影响。...渲染器线程会阻塞,主线程会让所有的接收到的消息排队,直到得到正确的响应。此时任何接收到的消息会突然发送给渲染器线程以执行普通的处理。 浏览器进程 ?...“设置光标”消息的生命周期 设置光标是一个渲染器发往浏览器的典型消息的例子。在渲染器端,以下是发生的事情: 设置光标消息由WebKit内部生成,通常是作为输入事件的响应。

    2.3K50

    Emacs Lisp

    中的赋值函数是是setq,下面的表达式给变量my-name赋值"Bastien" (setq my-name "Bastien") ;; ^ 把光标停在这里,再键入C-x C-e ;; 下面insert...;; ^ 把光标停在这里,再键入C-x C-e ;; insert函数还可以两个常量字符,比如 (insert "Hello" " world!")...,再键入C-x C-e 执行defun命令来定义函数 ;; 通过defun命令,你已经在Emacs中安装了这个hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义...,这个函数可以帮助Elisp程序从用户处得到输入 (read-from-minibuffer "Enter your name: ") ;; 比如如果我们希望greeting函数能够从用户处得到姓名,...) ;; 以后push函数可以在列表的头部插入新的元素,所以下面的命令将改变list-of-name中元素的个数 (push "Stephanie" list-of-names) ;; mapcar

    3.1K40

    Emacs Lisp

    中的赋值函数是是setq,下面的表达式给变量my-name赋值"Bastien" (setq my-name "Bastien") ;; ^ 把光标停在这里,再键入C-x C-e ;; 下面insert...;; ^ 把光标停在这里,再键入C-x C-e ;; insert函数还可以两个常量字符,比如 (insert "Hello" " world!")...,再键入C-x C-e 执行defun命令来定义函数 ;; 通过defun命令,你已经在Emacs中安装了这个hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义...,这个函数可以帮助Elisp程序从用户处得到输入 (read-from-minibuffer "Enter your name: ") ;; 比如如果我们希望greeting函数能够从用户处得到姓名,...) ;; 以后push函数可以在列表的头部插入新的元素,所以下面的命令将改变list-of-name中元素的个数 (push "Stephanie" list-of-names) ;; mapcar

    2.9K30

    C语言项目实战——贪吃蛇

    在编程语言的学习中,我将以贪吃蛇为例,从设计到代码来展示一个C语言项目实战,进而再一步提升读者对C语言的理解和认知。...六、Win32 API介绍 本次实现贪吃蛇会使用到的一些Win32 API知识,那么就学习一下 Win32 API是Windows操作系统提供的一套应用程序接口,它允许开发者使用C或C++等编程语言来创建各种...自Windows 3.1版本起,Win32 API已成为Windows软件开发的基石,为开发者提供了丰富的功能和工具,从基础的系统服务到高级的图形和多媒体支持。...使用Win32 API,开发者可以控制Windows操作系统的各个层面,从创建窗口和处理用户输入,到文件操作、网络编程和图形渲染等。...一方面,随着Windows操作系统的升级,一些旧的API函数可能不再被推荐使用,甚至被新的API函数所替代。

    98110

    基于C语言和Win32 API实现贪吃蛇

    在编程语言的学习中,我将以贪吃蛇为例,从设计到代码来展示一个C语言项目实战,进而再一步提升读者对C语言的理解和认知。...六、Win32 API介绍 本次实现贪吃蛇会使用到的一些Win32 API知识,那么就学习一下 Win32 API是Windows操作系统提供的一套应用程序接口,它允许开发者使用C或C++等编程语言来创建各种...自Windows 3.1版本起,Win32 API已成为Windows软件开发的基石,为开发者提供了丰富的功能和工具,从基础的系统服务到高级的图形和多媒体支持。...使用Win32 API,开发者可以控制Windows操作系统的各个层面,从创建窗口和处理用户输入,到文件操作、网络编程和图形渲染等。...一方面,随着Windows操作系统的升级,一些旧的API函数可能不再被推荐使用,甚至被新的API函数所替代。

    50510
    领券