环境:

编辑器: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的封装相关推荐

  1. 1.Direct2D 捕鱼游戏开发-流程介绍

    环境: 编辑器:VS2015 系统:win10 专业版 碰撞:aabb obb盒模型(obb采用分离轴进行判断) 渲染:direct2d 文件夹介绍 目录截图: frame:放子弹对象,鱼对象,文件读 ...

  2. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第34讲:PHP 封装、继承、多态

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第34讲:PHP 封装.继承.多态 封装就是把抽象出的数据和对数据的操作封装在一起,通过public.  protected和private进行修饰.继承可以 ...

  3. Python游戏开发-03-用font对象把日志显示到屏幕上

    import pygame import sys#初始化Pygame pygame.init()size = width,height = 600,400 #实际上是元组 screen = pygam ...

  4. cocos2d-x游戏开发(七)对象释放时机

    欢迎转载:http://blog.csdn.net/fylz1125/article/details/8521272 这篇写写自动对象的释放时机. 一个对象调用autorelease()函数后就被加入 ...

  5. Unity3D游戏开发之类对象池优化秘籍残篇

    翻开秘籍第一页: 问: 什么是类对象池? 剑之初: 游戏中,我们常常会遇到频繁得创建和销毁大量相同对象的场景.如果我们不做任何的特殊处理,这种场景会出现两个性能问题--大量的内存碎片以及频繁的分配内存 ...

  6. HTML5游戏开发(四):飞机大战之显示场景和元素

    <HTML5游戏开发>系列文章的目的有:一.以最小的成本去入门egret小项目开发,官方的教程一直都是面向中重型:二.egret可以非常轻量:三.egret相比PIXI.js和sprite ...

  7. 直接操作游戏对象C#游戏开发

    直接操作游戏对象C#游戏开发 2.2.3  直接操作游戏对象 在Inspector视图里通过设置属性而改变游戏场景中游戏对象的状态,太过抽象,毕竟数字并不够直观.其实,改变游戏对象的状态,完全有最最直 ...

  8. pb的webserver增加的方法发布后没有显示_Egret 5.3 正式发布,为重度小游戏开发带来新技能...

    各位开发者好,白鹭引擎团队今天发布2020年最大的一次更新:Egret5.3版本.由于白鹭引擎团队在2019年已经针对部分开发者提供过内部的5.3.x 版本,所以本次更新的版本号为 5.3.5. 根据 ...

  9. 炸弹人游戏开发系列(3):显示地图

    前言 上文我们进行了初步的高层设计,现在我们将实现图片预加载和显示地图的功能需求.我采用TDD开发,大家可以看到在实现的过程中我们会修改设计,修改设计后又会修改对应的实现代码,这是一个不断迭代的过程. ...

  10. android 实现 3d 文字,android 3d 游戏 开发 基础 第10课-2D文字显示.ppt

    <android 3d 游戏 开发 基础 第10课-2D文字显示.ppt>由会员分享,可在线阅读,更多相关<android 3d 游戏 开发 基础 第10课-2D文字显示.ppt(1 ...

最新文章

  1. http http应用
  2. matlab i型级联filter,Matlab中filter,conv,impz用法(最新整理)
  3. 【转】在生产环境中部署前端代码
  4. CTFshow 文件包含 web79
  5. 在Spring MVC Web应用程序中添加社交登录:单元测试
  6. HDU 5652 India and China Origins(二分 + BFS)
  7. otsu算法_【车牌识别算法】
  8. 美丽联合与腾讯云签署战略协议 全面借助腾讯云打造智慧时尚电商平台
  9. mysql_affected_rows mysqli_关于mysqli_affected_rows()函数的详细介绍
  10. 百度个性化瓦片地图下载
  11. Git 生成SSH Key 之使用PuTTYgen工具
  12. Android开发-仿网易云音乐播放器样式设计与实现
  13. 离散元pfc 岩土工程
  14. word 页眉 页脚 页码 分页符 目录
  15. Spring中AOP及ReflectiveMethodInvocation逻辑简析
  16. 程序员也要学英语——限定词、形容词和副词
  17. openlayers实现地图显示功能
  18. 南京大学交叉培养计算机与金融招生人数,教务处组织召开计算机与金融工程实验班师生见面会...
  19. EBS开发_固定资产成批增加
  20. 群发邮件 (20 分)

热门文章

  1. React 技术专场交流活动
  2. linux达人养成计划1详细笔记汇总
  3. C语言 行为驱动的验收测试,关于tdd:行为驱动开发(BDD)和验收测试驱动开发(ATDD)有什么区别?...
  4. aliyun 实现文件上传
  5. 抵制惠普---劣质机器
  6. 耦合器是干什么用的 耦合器的结构原理及功能
  7. h20r1203功率管参数_h20r1202_h20r1203参数_h20r1202管的查量办法
  8. SAP MIRO后续调整
  9. 品优购页面制作过程与方法(笔记)(三)
  10. 智能健康监测与疾病预防