
个人学习
文章平均质量分 88
yangzhengqui
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安装GITLAB
1 dpkg -i XXX.deb安装软件包2 初始化配置 gitlab-ctl reconfigure3 检查状态 gitlab-ctl status4 修改创建项目后git地址gitlab.example.com为ip地址vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.ymlhost: localhost中将loc...原创 2020-01-19 11:52:31 · 130 阅读 · 0 评论 -
分析cocos缓存管理的实现
分析cocos缓存管理的实现 今天看了一下cocos的缓存管理类,首先缓存管理类是一个单例对象,获得该对象的实例必须通过导演类Dirctor的Director::getInstance()->getTextureCache();其实这是一种挺不错的架构方式,通过一个在顶部的对象来获得引擎里面你需要的接口,这就屏蔽了实现的细节。题外话了,转入正题。cocos的纹理缓存管理包含了加载图片纹理的接口,原创 2015-02-13 00:53:12 · 2600 阅读 · 0 评论 -
U3d刚体,碰撞,触发器
U3d刚体,碰撞,触发器首先是刚体的解释: Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVIDIA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件。 碰撞器在U3d中有三种: Static Coll原创 2015-05-31 10:37:25 · 2509 阅读 · 0 评论 -
Android 约束布局constrainLayout
Android 约束布局constrainLayout 在google IO 2016 中发布了最新的android studio 2.2 预览版,同时介绍了最新的约束控件。 google在android studio 2.2 增加的约束控件。终于带来了可以拖动控件到UI编辑器的方法了,越来越人性化了。当然还是可以通过编写XML文件控制约束控件,但这已经不是必须的,我们可以windo原创 2016-05-30 13:57:39 · 13851 阅读 · 1 评论 -
GO语言学习之goroutine
GO天生具有并发的特性。实现这一特性就采用了通道的技术。 先上代码: package mainimport ( “time” )func main() { message := make(chan string) //第一个版本 go func() { message <- “ping” }() // // 等原创 2017-07-30 10:07:31 · 461 阅读 · 0 评论 -
服务器端高并发IO的keep alilve方案
案例一、服务器端高并发IO的keep alilve方案,满足一下几个需求1. 每个IO都有自己的时间戳2. 每个IO收到自己的beat后,重置自己的定时器3. 若IO定时没有收到,则执行IbeatO的回调函数,并重置定时器4. 若再次没有收到beat,销毁IO,注销定时器。首先建立一个时间红黑树,红黑树每个节点包括时间戳,超时回调函数,连接描述符,在线程的主循环中,...原创 2018-03-15 18:25:25 · 340 阅读 · 0 评论 -
设计一个线程或者进程的运行体R与运行体调度器S的结构体
设计一个线程或者进程的运行体R与运行体调度器S的结构体1. 运行体R:包含运行状态{新建,准备,挂起{IO等待读,IO等待写,睡眠,延时}, 退出},运行体回调函数,回调参数2. 调度器S:包含栈指针,栈大小,当前运行体3. 调度器S:包含执行集合{就绪,延时,睡眠,等待}。const int running = 1; //运行const int stop = 2; //停...原创 2018-03-17 17:29:24 · 259 阅读 · 0 评论 -
根据客户端IP地址,通过DNS解析合适的服务器IP
DNS基本概念:DNS是属于应用层的协议,因为网络通信是要采用IP地址来进行通信的,但人类对于这些IP地址不容易记住。于是乎就使用方便记住的域名来进行访问网站。而DNS就是进行域名与IP地址转换的。可以称为网络世界的地址薄。域名系统的概念:域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映...原创 2018-08-09 20:11:29 · 8436 阅读 · 0 评论 -
linux 0.11 fork
当调用fork的时候,因为是系统调用,所以会调用_syscall0这个函数#define _syscall0(type,name) \ type name(void) \{ \long __res; \__asm__ volatile ("int $0x80" \ : "=a" (__res) \ : "0" (__NR_##name)); \if (__res..原创 2018-08-18 14:46:10 · 605 阅读 · 0 评论 -
Linux下线程为什么不是系统调用,而是做成 Pthread库提供实现?
系统调用是用户空间访问内核的唯一接口,除开异常和陷入。 应用程序是不能直接访问内核内存空间和调用内核函数的。要从应用空间陷入到内核空间,一般通过中断。中断分为软中断和硬件中断,软中断在X86的机器上是通过int $0x80指令调用的,通过该指令陷入到内核,根据内核维护的中断向量表找到对应的中断处理程序。 那么为什么线程不做成系统调用呢? 首先在Linux诞生的时候还没有线程的概念,(LINU...原创 2018-08-23 13:23:03 · 2361 阅读 · 0 评论 -
U3D从legacy转为humanoid出现的若干问题
1 动画控制器不能拖入动画 解决方案:把legacy的动画转为humanoid的,在rig标签里面选择humaniod.点击apply.2 转为humanoid动画的时候出现U3D默认动画 解决方案:动画预览窗口发现了一个avator的按钮。点击这个按钮,出现了三个选项,auto,Unity mode,other,auto选项不知是干嘛的,Unity mode就是使用默认资源的原创 2015-01-22 23:54:02 · 4313 阅读 · 0 评论 -
cocos3.1内存管理的一点理解
//CCRef.#include "base/CCPlatformMacros.h"#include "base/ccConfig.h"#define CC_USE_MEM_LEAK_DETECTION 0NS_CC_BEGIN/** * @addtogroup base_nodes * @{ */class Ref;/*原创 2014-10-08 19:48:13 · 1099 阅读 · 0 评论 -
C++释放内存的问题
在完成某一个游戏的架构的时候,在释放内存的时候,ful原创 2014-10-10 23:23:19 · 863 阅读 · 0 评论 -
cocos3.1源码分析(1)-------cocos的启动分析(Win32平台)
先把上一篇忘记分析的autorelease说一下,在CCDirector.cpp原创 2014-10-10 21:14:26 · 1100 阅读 · 0 评论 -
cocos3.1源码分析(2)渲染流程分析
上一篇分析启动流程的时候,看到了最后是进入了一个是原创 2014-10-12 23:02:06 · 675 阅读 · 0 评论 -
C++11 线程库(高层接口)
如今的CPU是朝着多核发展,在移动端的表现也是如此,4核甚至是8核CPU的手机都出来了。所以线程的作用就能充分利用多核的优势,充分发掘手机的性能。C++11也顺应时代的潮流,在STL库中增加了线程库。但使用线程也会带来一些问题。那就是不太好调试,而且利用的不好会带来Data reaces和Dead lock的问题。可能程序的运行与你的设想程序的运行不同。但毕竟好处还是大于坏处,线程能在很大原创 2014-12-16 22:37:38 · 768 阅读 · 0 评论 -
cocostudio Scrollview的使用
cocostudio是触控出品的UI编辑器,数据编辑器,动画编辑器以及场景编辑器的结合体。使用cocostudio可以少写很多的代码,使游戏开发更加简单和快速。这次我使用了cocostudio自带的Scrollview来做了一个界面,发现比以前单单使用代码的方式继承scrollview的方式确实是方便了不少,开发的速度也加快了不少。首先,我是在cocostudio里面画了一个滚动层容器原创 2014-12-07 15:15:27 · 1527 阅读 · 0 评论 -
cocos2dx3.1 texturepacker播放动画
先使用texturepacker把所需要使用的帧动画打包成一张图片和一个plist文件。使用大图的好处就是可以一次性载入图片,然后通过plist文件确定图片的位置,在内存中寻找图片数据,这就减少了I/O操作,使效率大大提高。但是相对来说图片的大小变大了,因为中间多了很多的空白的地方。这就是算法分析中时间与空间的矛盾吧。然后使用如下的代码播放动画://获得精灵帧的实例,并通过plist文件载原创 2014-12-22 22:55:41 · 849 阅读 · 0 评论 -
有限状态机(使用状态模式C++实现)
最近在研究怪物的AI,由于怪物的AI是使用有限状态机来实现的。所以就查看关于有限状态机的东西。根据这几天的查看资料,知道了有限状态机是计算机科学中一个很重要的概念。而且有限状态机是一个抽象的概念,具体实现是多种多样的。根据维基百科的介绍,它是这样的一个概念:有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之原创 2015-01-11 23:18:30 · 19715 阅读 · 7 评论 -
cocostudio在scrollview封装滚动条
cocostudio里面是没有对应scrollview封装滚动条的,在实际的项目中需要scrollview携带滚动条是很常见的需求,对此研究了一下,自己封装了一个UIScrollbar的实现,不是很完善,但大致完成了当scrollview滚动时,滚动条也对应着滚动。首先,先对需求进行一下数学分析(不是数学专业的数学分析~_~),看下面的图解:从这个图用数学知识分析,当scr原创 2014-12-13 17:58:11 · 1200 阅读 · 0 评论 -
依赖链接器最小化编译时间(Abusing the Linker to Minimize Compilation Time)
AbstractIn this article, I will describe a technique that reduces coupling between an object that provides access to many types of objects ("the provider") and its users by moving compile-time d翻译 2014-08-17 00:33:51 · 762 阅读 · 0 评论