2D游戏编程1--windows编程模型】的更多相关文章

编程 我们日常生活中接触到的电子类产品中的应用都是由编程而来 为什么编程,偷懒 我们通过编程驱使(指挥,命令)的是电信号 为什么上面说编程是偷懒,电的发现,给人们带来了便利,人们在各个方面驱使(换成“使用”或“利用”更接近日常交流语言)电:电和人不是同类,两者无法进行沟通,所以说从电被发现开始,就一直被人所驱使:但是电,也是需要人去做的,例如:让一排灯中某个灯亮或灭,这是要人去控制的.于是结合人们结合对电的了解以及对有关材料的了解,可以通过编程来让人摆脱时刻对电的控制,而这是强制的,是人们单方面…
本文整理自百科.知乎与 科学家的世界 问题一:为什么开发windows应用程序不用c 而用.net,java,c++? 用 c+windows API  开发windows 应用程序  比用.net,java,c++开发有什么缺点或优点? C/C++,现在的软件公司对这种人才需求更多.用这种语言写出来的程序是真正的exe可执行文件.是有系统启动运行的. 而Java和.NET就不一样了. Java是基于解释的,你写出的程序不是由系统运行的.是由jdk的一个叫java.exe或者javaw.exe的…
首先很开心申请到了这一个专栏<Windows编程零基础学> 这是第一篇文章,在这里,我将讲述一些基础的知识. 什么是Windows编程 所谓Windows编程就是在Windows平台上开发,并且运行于Windows平台上的程序,当然,开发的时候运用的东西是Windows  API或者封装之后的Windows API. 为什么要学Windows编程 有人说,我学的是Java,我不需要跟系统打交道.是的,你说的是对的,但是,这并不意味着学习Windows编程是不必要的,事实上,Java的底层使用的…
1.1 Windows编程模型 为传统的操作系统编写的程序使用的是过程化模型,即程序从头到尾按顺序执行.例如C程序,从main函数入口开始执行,中间调用不同的函数一直到程序结束返回,这种过程是程序本身决定何时调用何种函数,操作系统病没有办法决定. Windows程序与传统的C程序执行不同,应用程序通过处理操作系统发送过来的消息来响应事件,事件可以是鼠标双击.单击.窗口更新命令等.Windows程序也有入口函数,该函数为WinMain,但是大多数操作是在窗口过程函数中进行的,窗口过程函数用来处理发…
本篇将简单整理基本的Windows应用程序的实现,并作为创建Direct3D 10应用程序的铺垫.具体内容参照< Introduction to 3D Game Programming with DirectX 10>(中文版有汤毅翻译的电子书<DirectX 10 3D游戏编程入门>)中的附录A. 1.编写入口函数WinMain Windows编程中的WinMain函数与普通C++编程的main函数作用相同,指定了程序开始的执行点.其函数原型如下: INT WINAPI WinM…
        经过近两年的不懈努力,笔者的原创教程"ActionScript3游戏中的图像编程"最终在今日划上了完美的句号!这其中记录着笔者多年来在游戏制作,尤其是其中图像处理方面的经验心得.尽管使用的语言是眼下可能正在没落的ActionScript3.0,但因为其中渗透着深刻的编程思想和有用技巧,因此其意义已经远远超越了ActionScript本身.您能够把从本教程学到的知识轻松移植到其它支持图像编程的开发语言中(我也想换个语言重写,可惜精力不足).         此外,本教程还…
人的心理有个奇异的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解非常快就会忘得干干净净,似乎一切都是自然而然,本来就该这种.因此,关于「怎样入门」这类问题,找顶尖高手来回答,未必能比一个刚入门不久的人来回答要好.就譬如最高票的那个回答,是一个非常精通 Windows 编程的高人回答的,但这种答案能给刚開始学习的人带来多少帮助,我这里想先打一个问号. 前段时间刚辅导了一个学生学会了 Win32 GUI 编程,刚好看到这个问题,顺手就邀请他回答了.并不是是给他布置总结作业,不过希望能从他这里…
本文内容 异步编程类型 异步编程模型(APM) 参考资料 首先澄清,异步编程模式(Asynchronous Programming Patterns)与异步编程模型(Asynchronous Programming Model,APM),它们的中文翻译只差一个字,英文名称差在最后一个单词,一个是 Pattern,一个是 Model.模型 Model 比 模式 Pattern 更具体.前者是一个统称,比后者含义要广,前者包含三个模型,而 APM 只是它其中一个而已. 个人理解,异步编程模型(APM…
本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好.驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家发现什么好书就在楼下跟贴吧! 作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘爱民老师的书,这些书一直陪伴着我,并给我的编程工作带来了很大的帮助,希望我的推荐对你也有帮助. 现 在的计算机图…
要入门 Windows 编程,最重要的不是阅读什么教材,使用什么工具,而是先必须把以下几个对于初学者来说非常容易困惑的重要概念搞清楚: 1. 文字的编码和字符集.这部分需要掌握 ANSI 模式和 Unicode 模式的区别(并且明白这里 ANSI 和 Unicode 事实上都属于术语的误用):明白这两种模式其实是通过宏实现的一个 dirty-hack(有相当数量的人在实际工作中因为这个宏的原因被咬过):知道如何通过 TCHAR._T().条件编译等方式写出 Unicode 兼容的代码(即使你将来…
引子 “Windows 程序分为‘程序代码’和‘UI(User Interface)资源’两大部份,两部份最后以RC编译器(资源编译器)整合为一个完整的EXE 文件.所谓UI 资源是指功能菜单.对话框外貌.程序图标.光标形状等等东西.这些UI 资源的实际内容(二进制代码)系借助各种工具产生,并以各种扩展名存在,如.ico..bmp..cur 等等.程序员必须在一个所谓的资源描述档(.rc)中描述它们.RC 编译器读取RC 档的描述后将所有UI资源档集中制作出一个.RES 档,再与程序代码结合在一…
✍  Windows编程基础 1.Win 32应用程序基本类型 1)  控制台程序 不需要完善的windows窗口,可以使用DOS窗口方式显示 2)  Win 32窗口程序 包含窗口的程序,可以通过窗口与程序进行交互 3)  Win 32库程序 提供已有的代码,供其他程序使用 动态库(DLL):是在执行的时候可以加载的. 静态库(LIB):是在编译链接是使用的程序,成为当前程序的一部分. 2.头文件和库 头文件 基本的头文件windows.h包含了windows常用的定义等,其他,还包含了一些其…
上一篇我们学习了解了如何使用Windows GDI画图,该应用程序都是光光的静态窗口,我们使用Windows应用程序,但凡稍微复杂一点的程序都会有工具栏和状态栏,工具栏主要用于一些快捷功能按钮.比如典型的windows应用程序的上面是菜单栏,从菜单栏我们可以选择应用程序提供的各种功能,但是有的功能比较常用,且不能放在第一级菜单,需要进入二级.三级甚至更多的菜单才能选择.显然这样使用起来比较麻烦,于是这时候工具栏的作用就体现出来了,一般工具栏位于菜单栏的下面,但是位于客户窗口的上面.下面就是win…
前面我们所举的例子中都是单文档界面框架,也就是说这个窗口里面的客户区就是一个文档界面,可以编写程序在里面输入或者绘制文本和图形输出,但是不能有出现多个文档的情况.比如下面的UltraEdit就是一个典型的多文档界面,他可以同时编辑多个文档,每个文档还可以最大化,最小化等等,我们今天就来看看多文档的基本框架是怎么实现的. 多文档界面的框架创建需要几下几步. 主框架窗口创建 主框架窗的创建跟普通的窗口没有什么区别,就是自己注册一个类并用该类创建一个重叠窗口,这个可以用CreateWindow/Cre…
大家知道,在使用微软的编程环境创建工程时会让你选择是控制台模式还是Windows应用程序.如果选择控制台的console模式,就会在运行时出现一个黑洞洞的字符模式窗口,里面就有等待输入一闪一闪的插入符.输入光标从DOS时代就存在,但是在Win32中赋予了更强大的功能.下图就是Windows的CMD窗口,其中的输入点就是插入光标: 要注意的是这里的插入符或插入光标并不是Windows中另外一个“光标”,这里是指示插入字符的位置,而不是用于鼠标,手写输入等可以定位.移动的光标(Cursor),而是插…
上一篇我们学习了菜单的基本编程,本篇来了解一下通用对话框的使用.Windows系统之所以是目前最流行的桌面系统,也是因为Windows有一套标准化,统一友好的交互界面,比如菜单.工具栏.状态栏以及各个控件.当然除了这些单独的控件之外,对于像文件打开.保存对话框,字体对话,颜色对话框等对于Windows本身会用到,在很多第三方的应用程序中也会用到.因此微软公司也早就清楚这种现实情况会存在,所以Windows把这种常见的公共对话就做了统一的接口函数,供Windows自己和第三方开发者使用. Wind…
上一篇我们学习了利用windows API创建工具栏和菜单栏,与上一篇紧密联系的就是菜单栏,菜单栏是一个大多数复杂一些的Windows应用程序不可或缺的部分.比如下图就是Windows自带的记事本的菜单栏: 菜单一般都是在标题栏下,工具栏以上,常常叫主菜单或顶级菜单(top-level menu),顶级菜单可能还会有弹出菜单(popup menu)或子菜单(submenu).弹出菜单还有被“选中”(checked)状态,各菜单还有启用.禁用状态. 每一个菜单都有一个ID与之对应,当某个菜单被点击…
上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数百个API可供我们使用,本篇把最常用的GDI绘图做一个讲解.GDI可以绘制点.直线曲线.填充封闭区域.位图以及文本,其中文本部分已经在上一篇中将了,请参考[Windows编程]系列第三篇:文本字符输出. 跟前面的GDI对象一样,本篇的这些绘图函数也必须要设备上下文句柄(HDC)作为函数参数,从前文我…
上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个应用程序传递到另一个应用程序,是一种简单的进程间通信. 许多文档处理软件都有复制.剪切.粘贴功能,这些都是用Windows剪贴板实现的,当然我们也可以在我们的程序中实现自己的剪贴板功能,本篇我们就来实现自己的剪贴板.使用剪贴板时,都是先把源数据先传到剪贴板上,再在需要的时候从剪贴板传输到目的处,所以…
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和Unicode方面的编程基础. 计算机最早在美国诞生,所以最开始都是以英语为作为交互语言,由于只有26个字母,用一个字节(范围-128 ~ 127)表示,这个范围足够表示26个因为字符和一些常用的控制字符,这个就是ASCII编码.因此最早的各种程序设计语言以及使用的…
上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和图像输出. GDI基本知识 Windows下要绘图和输出文本,都是通过GDI(Graphics Device Interface,图形设备接口)完成的,GDI是windows在绘制图文时的设备上下文环境,包括画…
引用:http://blog.csdn.net/jarvischu/article/details/8115390 1.     程序 /************************************************************************ * 名  称:Windows_Frist_Code.cpp * 功  能:Windows编程入门 * 描  述:包含WinMain函数.WNDCLASS.消息循环等多种内容 windows窗口程序的流程如下:[Win…
Windows编程中UNICODE和_UNICODE定义问题 先转一篇文章: 初学Windows SDK编程时碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别人问到自己也说不太 清楚.今天借此机会,我也好好整理一下自已的思路,用下面这篇文章详细点地解释下这个问题,希望能帮助到有此疑问的朋友. UNICODE和_UNICODE并不是在头文件中"定义"的,而是程序员通过以下方法之一定义的: 1.用代码定义的,就像你上面的一样: 2.编译选项中指定.…
1.windows编程中,所有的操作都放到窗口过程中进行,main函数只用于描述窗口基本信息. 2.用于获取设备环境句柄时,用BeginPaint/EndPaint,消耗cpu小,但占内存大;用GetDC/ReleaseDC,消耗CPU大,但占内存小. 3.TextOut在同一客户区输出多行内容是,需要不同的x,y坐标才能实现,否则会输出到同一行,造成无法显示. 4.大部分标识参数都需要按位运算,而不是逻辑运算. 5.删除文件函数DeleteFile在调用时,必须确保所删除的文件不在打开状态,否…
写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身,而且现在WP商店的游戏又是十分稀少,因此涉及到具体设备的时候会拿WP的设备进行调试,所以名字暂定如此. 如果可以坚持下来的话,我打算把它写成一个系列,最终能够实现一个完整的2D横版跑酷游戏. 关于支持的平台,我们可以看一下下面的图. 这是我的电脑上安装完unity4.2之后的截图,可以看到,支持多达…
这里在学网络编程时遇到了讲解windows的编程,稍微整理一下windows编程原理,顺便复习一下. 首先,理解Windows 程序运行原理:Windows应用程序,操作系统,计算机硬件之间的相互关系. 向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音.这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的.这里的机器人就是操作系…
首发:个人博客,更新&纠错&回复 之前关于c/s的一篇博文只记了思路没记代码,而且表达不清晰,事后看不知所云,这个习惯要改. 这十几天学了点关于操作系统.windows编程和网络,主要看的书有以下几本,都没看完或者只看了一点,记下书名先:<现代操作系统><深入解析windows操作系统><windows程序设计><c#入门经典><wpf编程宝典><图解tcp/ip>另外<tcp/ip详解><java网…
主要内容:介绍Windows编程的一些基础概念 1.窗口的概念 <1>一个应用程序的窗口通常包括控制菜单框.下拉菜单. 工作区以及最大化按钮.最小化按钮, 还有垂直滚动条.水平滚动条 <2>窗口是系统管理应用程序的基本单位 <3>窗口是应用程序与用户之间交互的接口环境 <4>是Win应用程序的基本操作单元 2.事件驱动的概念 <1>所谓事件驱动,简单地说就是点击什么对象(即产生什么事件), 电脑就执行什么操作(即调用什么函数) <2>…
要想编程使Windows关机.重启或者注销,可以使用ExWindowsEx这个API函数,该函数只有两个参数,第一个表示关机动作的标志,也就是你要让该函数关机呢,还是重启,还是注销等.可以使用EWX_SHUTDOWN.EWX_REBOOT.EWX_LOGOFF等标志常量,分别表示关机.重启.注销.另外如果加上EWX_FORCE这个标志常量的话,该表明强制执行该操作.Windows在执行以上操作的时候会首先给每个正在运行中的程序发送一个WM_QUERYENDSESSION消息,告诉它们现在我要退出…
文章若非特别注明转载,皆是原创,转载请注明出处. 本文地址:http://www.cnblogs.com/bobolive/p/3537215.html 2D游戏中模型一般都有换装逻辑,特别是联网游戏,对资源有非常高的要求,很多时候甚至成了新游戏存活的生命线(特别是页游),一般来说都会采取分层处理. 比较多的是采用固定分层的方式, 较典型分层方式:身体(包括服装), 武器, 坐骑,翅膀,一般还有各个部件对应的物效层,再复杂一点还有多层武器/多层坐骑(比如:双手武器在跑动时一个在前一个在后,人身在…