5 genius-x

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

17【cocos2d-x 源码分析】:多分辨率支持的详细分析

对应源码位置:cocos2d-x-3.3\cocos\platform\GLView设计分辨率与屏幕分辨率cocos2d-x中,进行游戏设计时使用逻辑上的设计分辨率,当具体游戏运行在物理机上时对应具体屏幕的分辨率,这就存在从设计分辨率到具体屏幕分辨率的适配问题,主要有一系列的适配策略,这里暂不列举,但就源码进行分析,一目了然。//这里设置 设计分辨率的大小 并指定 设计分辨率的策略voi...

2019-05-26 00:31:30

16【cocos2d-x 源码分析】:HttpClient 的详细分析

对应源码位置:cocos2d-x-3.3\cocos\network\Http*HttpRequest的实现typedef std::function<void(HttpClient* client, HttpResponse* response)> ccHttpRequestCallback;//(cocos2d::Ref::*SEL_HttpResponse) 代表cocos...

2019-05-24 10:51:56

15.【cocos2d-x 源码分析】:localStorage的详细分析

对应源码位置:cocos2d-x-3.3\cocos\storage\local-storage\localStoragelocalStorage 的接口cocos2d-x提供了简单的本地数据存储的功能,其主要是由对sqlite的封装来实现。//初始化 数据库void CC_DLL localStorageInit( const std::string& fullpath = ""...

2019-05-23 21:49:09

14.【cocos2d-x 源码分析】:Audio的详细分析

对应源码位置:cocos2d-x-3.3\cocos\audio\include\SimpleAudioEngineSimpleAudioEngine的实现SimpleAudioEngine是提供了简单的 播放音效,以及播放背景音乐的功能。class EXPORT_DLL SimpleAudioEngine{public: static SimpleAudioEngine...

2019-05-23 21:31:04

13.【cocos2d-x 源码分析】:内存管理的详细分析

对应源码位置:(1)cocos2d-x-3.3\cocos\base\CCRef ;(2)cocos2d-x-3.3\cocos\base\CCAutoreleasePool内存管理的在引擎中的位置void DisplayLinkDirector::mainLoop(){ if (_purgeDirectorInNextLoop) { _purgeDirect...

2019-05-23 20:30:15

12.【cocos2d-x 源码分析】:UI系统的详细分析(下)

对应源码位置:cocos2d-x-3.3\cocos\ui\UI*HBox与 VBox这两者的实现很简单class CC_GUI_DLL VBox : public Layout{ public: /** * Default constructor */ VBox(); /** * Default ...

2019-05-22 22:19:46

11.【cocos2d-x 源码分析】:UI系统的详细分析(中)

对应源码位置:cocos2d-x-3.3\cocos\ui\UI*Layout的原理这里选取少量的重点部分。//找当前节点的下一个可以聚焦的节点//主要看思想 已经删了很多了Widget* Layout::getNextFocusedWidget(FocusDirection direction, Widget *current){ Widget *nextWidget = ...

2019-05-22 21:03:23

10.【cocos2d-x 源码分析】:UI系统的详细分析(上)

对应源码位置:cocos2d-x-3.3\cocos\ui\UI*从 Widget 看起先从 一些布局的基本讲起//这里是 代表边距的类class CC_GUI_DLL Margin{public: float left; float top; float right; float bottom; public: Margin(); ...

2019-05-22 21:02:19

9.【cocos2d-x 源码分析】:Texture的详细分析

对应源码位置:cocos2d-x-3.3\cocos\render\CCTexture*从Sprite谈起Sprite其实内部必然包含一个纹理图片,但我们写代码时候用到的是传入一个图片路径,从下面看://直接 传入Texture2D 对象Sprite* Sprite::createWithTexture(Texture2D *texture){ Sprite *sprite = ...

2019-05-22 10:41:39

8.【cocos2d-x 源码分析】:渲染部分的详细分析(下)

对应源码位置:cocos2d-x-3.3\cocos\render*从 RenderQueue说起//渲染 队列class RenderQueue {public: void push_back(RenderCommand* command); ssize_t size() const; //按照 z值进行排序 void sort(); Render...

2019-05-20 22:26:12

7.【cocos2d-x 源码分析】:渲染部分的详细分析(中)

对应源码位置:cocos2d-x-3.3\cocos\render*从RenderCommand看起class CC_DLL RenderCommand{public: //以下 主要 7种 enum class Type { UNKNOWN_COMMAND,//这一种 就是不知道是哪一种 QUAD_COMMAND, CU...

2019-05-20 11:14:32

6.【cocos2d-x 源码分析】:渲染部分的详细分析(上)

对应源码位置:cocos2d-x-3.3\cocos\render\*主循环中的渲染部分下面代码选自 void Director::drawScene()if (_runningScene) { //clear draw stats _renderer->clearDrawStats(); //render th...

2019-05-18 20:36:14

5.【cocos2d-x 源码分析】:Node 类体系的详细分析

对应源码位置:(1)cocos2d-x-3.3\cocos\2d\CCNode (2)cocos2d-x-3.3\cocos\2d\CCLayer(3)cocos2d-x-3.3\cocos\2d\CCSceneNode是整个游戏对象的根节点基本后面熟知的 sprite 、 layer 以及 scene都是他的子类。Node类的部分代码由于Cocos2d-x采用继承的方针组织整个游戏对象...

2019-05-16 17:58:45

4.【cocos2d-x 源码分析】:EventDispatcher类的详细分析

对应源码位置:(1)cocos2d-x-3.3\cocos\base\CCEvent*先从 Event 类开头class CC_DLL Event : public Ref{public: //可想而知 对应这几个类型 分别有对应的Event子类 //以及 对应事件的 eventlistener enum class Type { TOUCH, ...

2019-05-16 11:00:23

3.【cocos2d-x 源码分析】:ActionManager类的详细分析

对应源码位置:(1)cocos2d-x-3.3\cocos\2d\CCActionManager (2)cocos2d-x-3.3\cocos\2d\CCAction(3)cocos2d-x-3.3\cocos\2d\CCActionInterval (4)cocos2d-x-3.3\cocos\2d\CCActionInstant先看看ActionManager 的大致原理在Director...

2019-05-14 17:13:25

2.【cocos2d-x 源码分析】:Scheduler类的详细分析

对应源码位置:(1)cocos2d-x-3.3\cocos\base\Scheduler.*Scheduler 一般译作 定时器,主要用于控制触发每帧都会需要的update以及用户自定义的更新操作。Timer类的实现这是一个 Light-weight timer,提供了指定delay延迟时间后,每次经过seconds时间间隔,触发trigger时间一次,执行次数为 _repeat+1,或...

2019-05-14 10:11:23

1.【cocos2d-x 源码分析】:引擎 mainloop 简要分析

以Win32平台为例,找到 main 函数int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow){ UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCm...

2019-05-13 16:54:37

PDF内复制文字多余换行问题【完美解决】

问题描述从PDF中复制文字后粘贴,结果每行出现换行。影响最大的就是笔者google翻译论文的时候,效果很差

2019-05-08 11:33:00

C++内存管理-笔记

本文主要内容为 侯捷先生 的《C++内存管理》课程个人学习记录,并非完全照搬讲义,有机会请读者看原视频。内存分配方式无论是哪种方式,最终使用的都是c语言底层的malloc。C++ new 关键字编译器将 new关键字翻译成 分配内存和调用其构造函数两部分。分配内存使用运算符 new,如果类本身有自定义 new运算符,则调用自定义版本,否则使用全局的 ::operator new,同理...

2019-04-26 16:13:53

C++ Move与Forward实现原理

这部分可重点参考《C++ Primer 》第5版 P608-P614,写的很透彻。Forward的使用#include<iostream>#include<string>#include<vector>using namespace std;template<typename T>void print(T& t) { c...

2019-04-26 12:39:24

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。