本文主要是介绍3.Direct2D 捕鱼游戏开发-显示对象DisplayObject.h的封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
环境:
编辑器:VS2015
系统:win10 专业版
碰撞:aabb obb盒模型(obb采用分离轴进行判断)
渲染:direct2d
坐标系的概念:
全局坐标系(世界坐标系):这里我们将窗口的左上点作为世界坐标系的原点(0,0)向左表示x轴正方向,向下表示y轴正方向
局部坐标系(相对坐标系):相对于一个显示目标的坐标系由于变换涉及到复杂的向量知识;我们这里只说平移变换的坐标系(即坐标系里面只有位移变换没有旋转之类的变换);
坐标变换:一个局部坐标系可以经过平移,旋转,来变换为其他的任意一个局部坐标系(我们这里只说平移变换的坐标系)
封装思路:
一个显示对象就是一个局部坐标系,显示对象的子显示对象的x坐标和y坐标要加上显示对象的x坐标和y坐标这样就形成了一个局部坐标系的封装
由于这个对象比较简单我们就不详细说他的具体方法了
主要方法说明:
render
递归调用所有显示对象的render方法在render方法里面我们会进行绘制
由于这里是一个显示对象的基类所以在render里面没有绘制的方法
setX
设置当前显示对象的x轴坐标
setY
设置当前显示对象的y轴坐标
initG_x
重新定义全局X坐标
initG_y
重新定义全局Y坐标
getWidth
获取缩放级别的宽度
getHeight
获取缩放级别的高度
getChildById
获取子显示对象只限一级没有递归获取
addChild
新增子显示对象
removeChild
移除子显示对象
这是我们要做的目标:
项目开源地址:
https://github.com/yinhui1129754/fishing
游戏开发交流群:
859055710
这篇关于3.Direct2D 捕鱼游戏开发-显示对象DisplayObject.h的封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!