游戏主循环,帧、帧动画这些东西的理解非常重要。
常用的设计模式和编码调试技巧也非常重要。
但有点难以言传的意思,语言和文字并不能在以上两点帮助你,自己努力练习和理解吧。
就讲讲资源和工具。
很多人总是搞不清楚游戏要怎么制作,这有一个简单的方法让你清楚,游戏和应用绝无任何区别。
只不过图形的要求稍微搞了那么一点点,所以经常需要基于帧刷新的图形系统来开发各种各样的功能。
仅此而已,基础不牢靠的话,可能会稍微有点迷茫。
其他的方向,我相信会写应用就会了。
由于metro app 是按包发布的,所以资源文件要包括在项目中,build action 选择 content。

如图,这个教程只提供了从包内加载的方式。
也可以考虑下载之类的。
今天主要讨论一下图形。
首先windows8 里面我觉得传统UI可以用于游戏UI,你看现在不是流行flashUI嘛?所以我们也可以利用xaml来制作UI,这部分资源都可以直接编辑,先按下不表。
在D2D D3D的部分、需要以下几种资源 d2dbitmap d3dtexture d3dmesh shader
这里就更不适合做教程了,资源系统的设计其实没有一条固定的路径要怎么做。
我只能介绍一下我怎么做,和我这么做的用意。
首先d2dbitmap 和 d3dtexture 都是贴图,我这里先支持texture2d,cubemap和texture1d就先不管它。
这个示例项目中我准备用极坐标替代cubemap,texture1d在任何场合都可以被texture2d代替。
那么d2dbitmap和d3dtexture最好是同源的,而且最好支持多一些格式。

所以就这么设计接口了,先从文件中加载一个Bitmap,再用这个对象创建d3d贴图或者d2d位图。
然后是模型和shader
模型我自己定了个简单的格式,写了个工具从fbx导出数据,利用xna4 vs2010开发,用不了多少代码。
使用fbx是一个比较好的选择,主流的3d开发工具均可导出fbx。

shader嘛,dx11 支持加载bytecode,提前用fxc 编译成bytecode当作资源文件即可。
为了调试方便,我们采用一个即使编译的办法

首先得把这个文件当作资源包进文件包,实时编译需要他。
然后把fx文件也当资源,从中读出字符串编译。

工具:
3dmax 或者其他模型编辑工具
phoneshop或者其他图像处理工具
fbx转换工具,上面那个。
分享到:
相关推荐
JDK 8u201 是Java开发人员在Windows 64位环境下必备的工具,它提供了开发、调试和运行Java应用程序所需的所有组件。这个版本注重性能提升、安全性增强以及对已有功能的优化,确保了开发过程的高效和稳定。安装时,...
本教程“Unity3D游戏开发标准教程-PPT课件下”旨在帮助初学者和有经验的开发者深入理解和掌握Unity3D的核心概念和技术。 教程可能涵盖以下关键知识点: 1. **Unity界面与基础操作**:介绍Unity编辑器的工作环境,...
标签中的"Windows32位Java安装"、"jdk-8u241-window"和"JDK"进一步强调了这个压缩包的用途,即在32位Windows环境下安装JDK 8u241。"JDK"是Java开发者的重要工具,它提供了编译、调试和运行Java程序所需的一切。 ...
### Windows CE 开发教程知识点概览 #### 一、Windows CE 概述与特性 - **Windows CE**:是一款由微软公司开发的操作系统,专为嵌入式设备设计。它支持多种类型的处理器,并且拥有类似于桌面操作系统的特性,如多...
### Windows Phone开发在线教程知识点概览 #### 一、Windows Phone平台概述 - **平台背景**:Windows Phone是由微软公司推出的智能手机操作系统,旨在为用户提供一个高效、流畅且与众不同的移动体验。 - **发展历程...
Java Development Kit(JDK)是Java编程语言的软件开发工具包,它包含了编译、调试、性能优化等所需的所有工具。这里的"jdk-8u202-windows...通过安装"jdk-8u202-windows-x64",你可以开始探索这个强大的Java开发环境。
《Windows 文件系统过滤驱动开发教程(第二版)》是一本深度探讨Windows操作系统中文件系统过滤驱动程序开发的专业书籍。在Windows系统中,文件系统过滤驱动是内核模式驱动程序的一部分,它们位于文件系统驱动(如...
《Java Demos实践教程:基于jdk-8u251-windows-x64-demos.zip的探索与学习》 Java Demos是Oracle公司为Java初学者和开发者提供的一个实用工具包,它包含了各种Java编程示例,旨在帮助用户更好地理解和掌握Java编程...
综上所述,《Windows文件系统过滤驱动开发教程(第二版)》是一本非常适合初学者入门Windows文件系统过滤驱动开发领域的书籍。通过本教程的学习,不仅可以了解过滤驱动的基本原理和技术细节,还可以通过实践操作加深...
《Windows 文件系统过滤驱动开发教程(第二版)》是一本深度探讨Windows操作系统中Minifilter驱动程序开发的专业教程。在Windows系统中,文件系统过滤驱动是控制文件操作的关键技术,它允许开发者对文件系统的读写、...
在IT行业中,软件开发是一项核心技能,而"AE二次开发教程资料+C#Windows程序设计教程"这个主题涵盖了两个重要的技术领域:After Effects(AE)的二次开发和C#语言用于Windows程序设计。以下是对这两个领域的详细说明...
#### 二、Windows CE的VB开发工具包 - **工具包概述**:Windows CE的VB开发工具包是基于Visual Basic 6.0 (VB6.0) 的开发环境,旨在帮助开发者快速构建适用于Windows CE的应用程序。 - **集成环境**:该工具包充分...
在《Windows WDM驱动开发.pdf》这个教程中,你将会详细学习到这些知识点,包括如何创建驱动项目、编写驱动代码、构建和调试驱动,以及如何处理各种设备交互和系统事件。通过实践,你将能够开发出高效、稳定的WDM驱动...
第3章 开发工具EVC的使用 第4章 Windows CE窗口和消息机制 第5章 Windows CE资源与控件编程 第7章 多线程编程 第7章 多线程编程 第8章 文件操作与通信编程 第8章 文件操作与通信编程 第10章 Windows CE系统定制 第11...
这本教程的源代码包含在名为"《Windows CE(C#)嵌入式应用开发实训教程》-源代码-王浩-7400.rar"的压缩包中,由作者王浩提供,为读者提供了丰富的学习资源,以加深对理论知识的理解和实际操作技巧的掌握。...
- www.pudn.com.txt:这可能是一个外部资源链接,提供了更多关于Windows CE开发的资料和社区支持。 总的来说,《WinCE_eBook》通过一系列的文档和手册,旨在帮助开发者全面掌握Windows CE的开发技能,无论你是初学...
总的来说,这个"基于Windows CE系统嵌入式开发教程源代码"为学习和实践Windows CE开发提供了一个丰富的资源库。无论是初学者还是经验丰富的开发者,都可以从中受益,增强对Windows CE嵌入式系统的理解和开发能力。
### XNA 3D游戏开发教程知识点概览 #### 一、XNA 游戏开发简介 - **XNA概述**:XNA是Microsoft推出的一个跨平台的游戏开发框架,主要面向Windows、Xbox 360及Zune等平台。它提供了一套完整的工具链,包括XNA Game ...
游戏制作工具GM,全称Game Maker,是一款专为初学者设计的优秀游戏开发软件。它以其易用性和丰富的功能,让不具备编程基础的用户也能快速上手制作属于自己的游戏。这款工具由Yoyo Games开发,提供了图形化界面,使得...
开发包内附带了详细的文档和教程,指导用户如何使用该工具包的各种功能。 4. **高度可定制化**:除了基本的游戏机制外,还允许开发者自定义物理引擎设置、游戏规则等,以实现更加个性化的设计。 5. **支持多平台...