这一节课主要介绍了2D游戏的一些内容,涉及到2维游戏主要是一些如雷电这些射击消除游戏,如2.5D的一些RPG游戏,如仙剑1。还有一些如暗黑破坏神1。这类游戏中用到的一些技术,如地图等。其他内容并不是很重要,不过我看PPT的时候看到一个关于腐蚀,膨胀的操作,仔细研究了一下,因为在小组讨论班上面有师兄(好像是师姐...)提到过。我作了一些摘录。
2D game
一、几种地图类型:
1.固定地图
2.滚屏地图
3.多层次地图
4.菱形地图
二、位图的格式:
位图BMP及其内容
三、常见的碰撞检测方法
1.区域检测
a)碰撞点检测
b)颜色检测:较为精确,相对耗时
四、亮度增强
将每一个象素灰度值加上一个常数
五、提高对比度
将原始图像直方图的取值范围[Xmin,Xmax]通过线性变换扩大至[0,Ymax]
六、淡入淡出
如果让ALPHA从1变到0,就得到淡出的效果
七、Morphing(变形)
八、模糊(blur)
将每个象素用其周围邻域象素值的加权平均值替代
九、形态算子
腐蚀:减少物体边界的象素数
膨胀:增加物体边界的象素数
复合方法
开:腐蚀,然后膨胀
闭:膨胀,然后腐蚀
腐蚀
定义:物体的颜色是白,背景是黑
定义腐蚀模板为
1 1 1
1 1 1
1 1 1
将模板与图像进行加操作
如果有,则结果为1,否则为0
模板的效果相当于去掉物体边界处的单个象素
膨胀是腐蚀的逆操作
模板文件是
0 0 0
0 0 0
0 0 0
其效果相当于在物体的边界添加单个象素
轮廓抽取
先做腐蚀操作, 再将腐蚀结果图像减去原始图像