自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (20)
  • 收藏
  • 关注

原创 从零开始重写KOK1(万王之王1) —— (3)优化玩家移动与精确8方向朝向

0. 回顾与分析在第1篇文章中,我们是对移动目标与玩家坐标做差,然后按照各个方向的可能性进行if判断,来决定人物的方向,在第一篇的DEMO中,可以发现,只有当人物正好在正斜方(45度的4个斜方向,或者说是n*pi/4时),人物才会斜着站,否则都是上下左右4个方向的朝向。对人物的移动方面,我们是x没达到目标则加上RunSpeed,y也如此。这样的结果是,人物斜着走将会非常快。所以我们优化代码以达到两个目的:(1)人物的朝向是将一个圆分成16份,每个方向占两份,使人物朝向正确的角度。(2)人物的RunSpeed

2011-01-20 18:56:00 22548 20

原创 从零开始重写KOK1(万王之王1) —— (2)优化地图加载

本来想在第2篇说明物体遮挡与寻路的开发过程,但是因为我把这问题想简单了,现在已经完成了遮挡与寻路,但是中间的过程非常多,第一篇文章的系统结构需要做一些修改才可以,这里先说一下地图加载的相关问题。首先是效果图:可直接运行版本下载:>>点击进入下载页在第一篇文章《从零开始重写KOK1(万王之王1) —— (1)让人物可在地图上使用鼠标跑动》中,地图是这样的过程加载的:1. 在Map对象初始化时将每个小图个加载到一个整体的大地图中,如图:2. 在玩家位置作出修改后,也修改屏幕矩形左上角的位置,因为玩家是在中间,所

2011-01-20 14:48:00 7570 7

转载 Diablo世界观与剧情综合说明

研究了几天Diablo2的技术,今天突然对剧情产生了浓厚的兴趣,虽然从1代,到地狱火,到2代,再到破坏之王一路玩下来,但一直没有太明白剧情,今天各处搜索学习,终于稍稍有所了解,所有的文章内容均为转贴,我将他们按顺序编排了一下,我找到的文章中已经不知道作者是谁了~1. 在Diablo1开始前的故事    天堂与地狱的战斗(末日之战)在人类出现之前就已经开始,延续了数千年,其时天使和恶魔中都英雄辈出,可创造者BLIZZARD小组设定的平衡度太高,这两帮人谁也奈何不了谁,于是死伤无数。其中Diablo(迪亚波罗)

2011-01-12 00:30:00 7324 2

原创 从零开始重写KOK1(万王之王1) —— (1)让人物可在地图上使用鼠标跑动

从飞信裸辞已经2个月了,因为对游戏的爱,和做出好玩的游戏这个梦想。《Windows游戏编程大师技巧》(以下简称《大师》)这书已经读完,DEMO也都搞清楚了,为了确实的掌握2D游戏的技术,决定完成一个完整的KOK1咒术师打钱坑的DEMO,也是作为我踏入游戏开发行业的简历附加DEMO。【广告】对游戏有爱的游戏公司(北京)缺人(2D/3D游戏程序员)的话请随时把我拉走。这个系列文章将记载在这个DEMO开发过程中的一点一滴,废话不说了,进入正题。0. 本期功能(1)人物可以在地图上通过鼠标右键控制走动(2)地图可以

2011-01-11 11:49:00 8332 9

原创 使用dinput鼠标的相对模式达到绝对定位

0. 当打算写KOK1的DEMO的鼠标管理模块时,是这么想的,获取到鼠标在视窗中的绝对位置(相对于窗口0,0点的坐标),然后来推算这个位置在地图上的坐标,然后让玩家走过去。存在如下几种方案: 使用Windows的系统鼠标指针,GetWindowPos来获得指针的位置,以及一些Win32API来获取指针的状态。这种问题就是在游戏中,基本上都不会去使用鼠标的指针样子,甚至静态图片也不行,通常都是动画,通过反复的修改窗口鼠标的样子的方式来实现动画性能太差。 微软提供了DirectInput,作为专门在游戏中使用的

2011-01-10 22:08:00 6450

原创 当你的程序在朋友的机器上显示丢失msvcr100d.dll的时候

0. 给朋友发了个DEMO,收到提示:丢失 msvcr100d.dll1. 一看是运行库文件,赶紧让朋友下载并安装vc++ 2010 redistribution,朋友反馈还是提示丢失这个dll文件2. 把我本地的这个dll拷贝到他机器里,提示成功3. 太奇怪了啊,这玩意就是vc++运行库文件啊,为啥装了redistribution还不成呢4. 我注意到了这个文件名的100后面带着一个d字,让我想起了debug~5. 在VC里面找设置,终于发现了:Property->C/C++->Code Generati

2011-01-10 16:46:00 28282 5

原创 #include到底该写在哪

1. 大学学C/C++的时候,大家写.h文件的时候,发现有符号这个文件里没有,就会#include相关的头一下;写.cpp文件的时候,发现有符号这个文件里没有也会#include一下,一直没有出什么问题。2. 再晚些知道了#include是预编译,就是copy一个文件的全部内容到当前#include语句的位置而已,而编译器根本不去编译.h,以及他里面到底是啥。然后隔了很久没用C/C++做很较复杂的程序,直到今天……封装整个DirectDrawManager的时候,我SB了。我想:“反正.h不去编译,我就把.

2011-01-06 18:46:00 6658 2

原创 实现一个均匀Tile的卷轴显示引擎

游戏的卷轴效果主要有两种形式,一种是将游戏分为若干个场景的页面卷轴,比如FC上的洛克人,当人物走到边缘时,就会切换整个场景;一种就是魂斗罗式的那种均匀平铺的卷轴,这种卷动更为平滑。因为我要用在2.5D显示引擎中,只能选择第二种卷轴技术——均匀tile卷轴。1. 卷轴要卷动哪些东西首先要清楚卷动的是什么东西,比如下面的一个KOK1的截图:这是一个典型的2.5D游戏界面,这个界面上的所有元素全都是由位图所组成的,但是不难分析出实际要卷动的只有地面的位图。因为传送门和柱子、树等等都是可以遮挡住人的,即渲染顺序是:

2011-01-03 20:00:00 2330

原创 32BPP窗口模式下24位位图的像素操作(2)

等测距卷轴的逻辑写的差不多了,结果发现之前写的位图至显示表面的代码有些问题,所以重写了一个函数,给定一个表面,基于表面的尺寸和传入的坐标,直接在BITMAP24_PTR上取图,取图后的表面直接就可用,先给出完整代码:int PickBitmap(LPDIRECTDRAWSURFACE7 lpdds, BITMAP24_PTR bitmap, LONG ddsWidth, LONG ddsHeight, LONG cx, LONG cy){ LONG bitmapWidth = bitmap->inf

2011-01-02 22:51:00 1886

3D图形库实心渲染源代码

3D图形库实心渲染源代码 平底三角形 平顶三角形 任意三角形 物体实心渲染

2011-03-08

3D图形库背面消隐的三大陷阱示例源代码

3D图形库背面消隐的三大陷阱示例源代码 1.用视线来算 2.注意统一顶点存储顺序 3.注意顶点存储顺序、叉乘计算顺序、视线方向之间的联系

2011-02-25

3D图形库宽高比透视与屏幕变换示例源代码

3D图形库宽高比透视与屏幕变换示例源代码 3D 图形 宽高比 透视投影 视口变换 屏幕的宽和高不一致影响的事情有两件,一:相机的宽视野和纵视野不一致。二:变换到屏幕坐标系时需要平移的位移不相同。

2011-02-23

3D图形库欧拉与UVN相机示例源代码

3D图形库欧拉与UVN相机示例源代码 支持欧拉与UVN相机 支持互转

2011-02-21

3D图形库旋转矩阵的应用示例源代码

3D图形库旋转矩阵的应用示例源代码 绕X,Y,Z轴同时旋转矩阵的生成 金字塔旋转DEMO示例

2011-02-18

3D图形Demo示例Hello3DWorld源代码

3D图形Demo示例Hello3DWorld 世界变换 相机变换 透视变换 屏幕变换 多边形、物体、相机初步结构 实线、虚线渲染

2011-02-17

3D图形库四元数相关函数示例源代码

3D图形库四元数相关函数示例源代码 使用旋转轴与旋转角度构建旋转四元数 四元数四则运算、共轭、逆……

2011-02-10

3D图形库参数化直线与3D平面示例源代码

3D图形库参数化直线与3D平面示例源代码 参数化直线与3D平面结构 计算参数 计算交点

2011-02-10

3D图形相关矩阵函数库示例源代码

3D图形相关矩阵函数库示例源代码 1*3 3*3 1*4 4*4 矩阵加法、乘法、转置、求逆矩阵、求行列式

2011-02-09

3D图形库向量函数库示例源代码

3D图形库向量函数库示例源代码 向量加减 点积 叉乘 归一 求范数 求夹角余弦

2011-02-08

3D坐标系转换示例源代码

3D坐标系转换示例源代码 笛卡尔坐标 极坐标 3D柱面坐标 3D球面坐标 的推导 与转换函数

2011-02-07

快速求三角函数示例源代码

快速三角函数代码 对整度数查表,对浮点度数线性插值

2011-02-07

矩形裁剪直线示例源码

直线被矩形裁剪的示例的源代码 核心算法 空间分析 特殊情况的排除

2011-02-04

直线矩形裁剪完整示例

直线矩形裁剪完整示例,使用Cohen-Sutherland算法

2011-02-04

Cohen-Sutherland裁剪

使用Cohen-Sutherland裁剪直线

2011-02-04

Bresenham画直线

Bresenham画直线 3D 图形 直线

2011-02-03

CPPYIN3D图像库_20110201A

CPPYIN3D图像库_20110201A

2011-02-01

KOK1_SRC_20110120

从零开始重写KOK1(万王之王1) —— (2)优化地图加载 SRC

2011-01-20

KOK1_SRC_20110111

KOK1_SRC_20110111 1 SRC 让人物可在地图上使用鼠标跑动

2011-01-11

KOK1_BIN_20110111

从零开始重写KOK1 1 BIN 让人物可在地图上使用鼠标跑动

2011-01-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除