自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 Cocos Creator 资源加载流程剖析【六】——场景切换流程

这里讨论场景切换的完整流程,从我们调用了loadScene开始切换场景,到场景切换完成背后发生的事情。整个流程可以分为场景加载和场景切换两部分,另外还简单讨论了场景的预加载。加载场景的流程loadScene主要做了3件事,通过_getSceneUuid获取要加载场景的信息,对于原生平台的非启动场景执行了cc.LoaderLayer.preload(但查询了所有的代码,并没有发...

2019-05-10 15:41:00 1475

转载 Cocos Creator 资源加载流程剖析【五】——从编辑器到运行时

我们在编辑器中看到的资源,在构建之后会进行一些转化,本章将揭开Creator对资源进行的处理。资源处理的整体规则首先我们将Creator的开发和运行划分为以下几个场景:编辑器当我们将资源放到编辑器中时,Creator会为每个资源生成唯一的uuid以及meta文件,并在项目的library目录下生成对应的json文件来描述这个资源的信息,而uuid与资源的映射关系被放在librar...

2019-05-09 10:37:00 810

转载 Cocos Creator 资源加载流程剖析【四】——额外流程(MD5 PIPE)

当我们将游戏构建发布到web平台时,勾选Md5 Cache选项可以开启MD5 Pipe,它的作用是给构建后的资源加上md5后缀,避免浏览器的缓存导致部分资源不是最新,因为使用了md5后缀后,当资源内容发生变化时,资源的名字就不一样了,缓存就会失效。比如6e056173-d285-473c-b206-40a7fff5386e.json,在开启了MD5 Cache选项之后再构建会生成6...

2019-05-08 12:55:00 849

转载 Cocos Creator 资源加载流程剖析【三】——Load部分

Load流程是整个资源加载管线的最后一棒,由Loader这个pipe负责(loader.js)。通过Download流程拿到内容之后,需要对内容做一些“加载”处理。使得这些内容可以在游戏中使用。这里并不是所有的资源都需要进行一个加载处理,目前只有图片、Json、Plist、Uuid(Prefab、场景)等资源才会执行加载的流程,其他的资源在Download流程之后就可以在游戏中使用了。...

2019-05-08 12:53:00 1057

转载 Cocos Creator 资源加载流程剖析【二】——Download部分

Download流程的处理由Downloader这个pipe负责(downloader.js),Downloader提供了各种资源的“下载”方式——即如何获取文件内容,有从网络获取、从磁盘获取,不同类型的资源在不同的平台下有不同的获取方式。比如脚本在原生平台使用require方法获取,而在H5平台则使用动态添加的HTML标签,指定src进行加载。又比如json在原生平台使用js...

2019-03-22 11:05:00 1442

转载 Cocos Creator 资源加载流程剖析【一】——cc.loader与加载管线

这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析。主要包含以下内容:cc.loader与加载管线Download部分Load部分额外流程(MD5 Pipe)从编辑器到运行时场景切换流程前面4章节介绍了完整的资源加载流程以及资源管理,以及如何自定义这个加载流程(有时候我们需要加载一些特殊类型的资源)。“从编辑器到运行时”介绍了我们在编辑器中编辑的场...

2019-03-22 10:55:00 836

转载 宝爷Debug小记——Cocos2d-x(3.13之前的版本)底层BUG导致Spine渲染花屏

最近在工作中碰到不少棘手的BUG,其中的一个是Spine骨骼的渲染花屏,在战斗中派发出大量士兵之后有概率出现花屏闪烁(如下图所示),这种莫名奇妙且难以重现的BUG最为蛋疼。前段时间为了提高Spine骨骼动画的加载速度,将Spine库进行了升级,新的Spine库支持skel二进制格式,二进制格式的加载速度比json格式要快5倍以上。这是一个大工程,游戏中所有的骨骼动...

2017-05-07 12:36:00 408

转载 游戏编程十年总结(下)

游戏编程十年总结的上篇总结了前五年初学编程的经历,下篇总结的是开始工作之后的经历,前面五年算是一帆风顺,而接下来的经历,则充满了挫折与失败。第一份工作 由于学历不高,还没毕业,经验不足让我吃了不少闭门羹,在大三刚开始时就开始在网上投放简历了,但基本是石沉大海。虽然没有面试邀请,我还是独自一人来到了深圳,因为对深圳这个城市很有好感(因为前面来深圳比赛的经历...

2016-05-11 13:05:00 257

转载 游戏编程十年总结(上)

自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔。一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是就变成了十年总结。光阴似箭,时不我待,转眼已经在奔三的路上了,离大叔的称呼很近了,但离大神的称呼还很远,在此谨以此文总结反思这十年技术生涯的点滴,与诸君共勉。编程之...

2016-05-10 09:32:00 274

转载 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目。在Cocos2d-x被整合到Cocos引擎之前,我们可以不那么方便地在我们创建的工程里调试Cocos2d-x的代码,当我们使用了整合后的Cocos引擎,调试Cocos2d-x的代码就变得更加,非常不方便了!使用Cocos2d...

2015-01-26 23:49:00 165

转载 手机网游实时同步方案

网络延迟是所有实时同步的游戏都会遇到的问题,下面是关于实时同步问题的一些思考和处理方法。具体的解决方法可能比较特殊,首先这里的服务器并不跑定时器(除了一个游戏结束倒计时的定时器),由前端驱动,延迟的情况下主要是由前端来预测或纠正,服务器辅助,处理和转发,据我的了解好像没什么人这样子搞吧。所以看完如果觉得我这边有考虑不周的,或者有更好的思路,欢迎拍砖 / 交流首先这是一个两边出兵...

2014-12-15 18:18:00 122

转载 Unity AssetBundle爬坑手记

这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷!AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的,很多隐藏细节让你使用起来需要十分谨慎,一不小心就会掉入深坑,打包没规划好,20MB的资...

2014-09-15 16:55:00 819

转载 Unity3D新手引导开发手记

最近开始接手新手引导的开发,记录下这块相关的心得首先客户端是Unity,在接手前,前面的同学已经初步完成了新手引导框架的搭建,这套框架比较简单,有优点也有缺点,稍后一一点评我们的新手引导是由一个个强引导组成的,每个强引导都有一系列的步骤,这套框架实现的功能就是:1.组织一个强引导(任务)所需的步骤,并可以一步一步前进2.实现蒙版,遮罩以及高亮引导区...

2014-07-15 11:13:00 1455

转载 敏捷开发随笔(一)高效软件开发之道

敏捷的方法值关注真正重要的事情,少关注那些占用大量时间而无甚裨益的不重要的事情这是一组把以人为本,团队合作,快速响应变化和可工作的软件作为宗旨的开发方法敏捷意味着可以快速地适应变化土耳其谚语-不管路走了多远,错了就要重新返回敏捷开发宣言1个体和交互胜过过程和工具2可工作的软件胜过面面俱到的文档3客户协作胜过合同谈判4响应变化胜过遵循计划...

2014-07-14 11:18:00 85

转载 U3D DrawCall优化手记

在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决现在的游戏跑起来会有接近130-170个左右的DrawCall,游戏运行起来明显感觉到卡,而经过一天的优化,DrawCall成功缩减到30-70个,这个效果是非常显著的,并且这个优化并没有通过将现有的资源打包图集来实现,图集都是原有的图集,...

2014-03-08 23:08:00 246

转载 Cocos2d-x不要随便在onEnter里面addChild

使用任何版本的Cocos2d-x(1.x,2.x,3.0),在onEnter中调用addChild,都要小心谨慎,因为它有可能导致两种莫名其妙的BUG,莫名其妙的BUG当然难以定位了!更何况这个BUG隐藏在引擎的底层。接下来是场景还原:在某个节点下,需要执行这样一段逻辑,在游戏场景中,添加几个节点,由于游戏场景就是该节点的父节点,于是就直接getParent然后调用父节点的add...

2013-12-23 16:12:00 139

转载 Unity3D调用Android Java代码

最近公司准备接入91手机平台的支付系统,这边要实现在安卓上Unity调用Java代码,Unity刚刚上手,Android开发也接触不多,在网上找了不少资料,但都不是很详细,总觉得缺了些什么,经过两天摸索,基本完成功能,所遇问题颇多,在此一一总结1.开发安卓环境的搭建2.关于安卓开发3.Unity调用安卓的各种问题1. 安卓开发环境的搭建,在这里随便装了个Ecl...

2013-02-25 16:29:00 196

转载 Unity3D脚印7——物理

Unity3D使用的是Physx物理引擎,但这里的用法跟纯粹的Physx不一样,这里是由刚体和碰撞体两种组件组成的物理对象。【刚体】 RigidBody 用于物理模拟,有质量,受重力影响,可以和其他可碰撞对象在碰撞的过程中发生相互作用的力,不要在运动中直接操作它们的位置(你要知道这不合物理),要通过施加力的方式来操作它,或者使用Joint刚体的脚本AP...

2013-02-21 09:46:00 183

转载 Unity3D脚印6——模型动画

如何导入一个模型,导入的模型在unity3d的project面板中是怎样显示的?包含什么内容?如何加载到场景中?怎样去控制它?模型和动画之间的关系?关于Mesh组件http://game.ceeger.com/Components/comp-MeshGroup.html关于模型的导入http://game.ceeger.com/Components/cla...

2013-02-21 09:44:00 491

转载 Unity3D脚印5——输入

Input使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。这里重点记录一下这几个东西的用法,鼠标,键盘,触摸,重力(陀螺仪)PS.按钮的名字:http://game.ceeger.com/Script/Enumerations/KeyCode/KeyCode.html鼠标:Input.mousePosi...

2013-01-21 16:07:00 193

转载 Unity3D脚印4——GameObject

通讯,动态创建,Prefab,销毁通过Hierarchy面板下的Create菜单可以手动地创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,当我们要在程序里面动态地创建一个相机的时候,可以new一个GameObject,然后把Camera组件Add给它就可以了,创建灯光,GUI等也类似,但要创建简单模型的时候,我发现并没有类似Cube,Sphere这...

2013-01-21 15:53:00 1172

转载 Unity3D脚印3——Transform

Transform组件用于控制物体的位置,旋转和缩放,这里面涉及两个重点,一个是坐标系,这个包括局部坐标系和世界坐标系的关系,另外一个是父子节点,GameObject的父子节点关系是通过Transform组件来维护的。位置相关的:5个和位置相关的Vector3类型变量up 表示世界坐标的Y轴方向right 表示世界坐标的X轴方向forward 表示世界坐标...

2012-12-17 22:00:00 225

转载 Unity3D脚印2——从脚本开始

按照我之前的惯性思维,这时候应该抛出一个问题,是不是可以不通过界面,直接new一个脚本出来,呵呵(自嘲,这种想法比new一个Scene更不实际,虽然可以实现~,通过写文件在代码里面写一个脚本,然后动态加载进来)比起new一个脚本,我觉得还是了解一下怎样写一个脚本吧MonoBehaviour是所有脚本的基类,所有要挂载到GameObject之上的脚本,都需要继承这个类,...

2012-12-11 09:33:00 192

转载 Unity3D脚印1——游戏对象&组件

Unity3D介绍操作界面的资料多如牛毛,再记录这些,于人于己皆无益,在这里希望可以记录一些有用的东西,供以后有需要时查看要熟悉一个引擎,我觉得有必要把引擎的思想搞清楚,这样学习起来才更好理解吧通过这几天的学习,Unity3D中贯穿着几个重要的概念,GameObject,Component还有Scene,我觉得Unity3D的整个思路,是由这三个概念组合而成的,还有别...

2012-12-09 18:23:00 195

转载 特效编辑器开发手记3——保存纹理到plist Base64编码与Zip压缩(上源码)

开发这玩意从头到尾也不过4-5天,几个月前就已经写好了,源码也早就在一个cocos2d-x群里面上传过了,就是一种惰性拖拖拉拉,或许是不知道该写些什么吧,拖到现在才把这最后一篇文章写上。(自己画的图片,虽然很业余,但是感觉还过得去啦)开发这个粒子编辑器,总共碰到三个问题:  第一个是在使用CCParticleSystem时出现的,无法动态调整粒子数量的问题——...

2012-12-05 22:31:00 220

转载 特效编辑器开发手记2——cocos2d-x粒子系统的plist文件

粒子编辑器必须要有一个保存粒子文件的功能,cocos2d-x使用plist来保存粒子文件(这是苹果的一种基于xml的文件格式,也适用于动画等)于是我查看了cocos2d-x里面加载plist文件的代码,它是先把plist加载到一个CCDictionary类中,然后在这个类里面方便地通过key-value来获取相应的信息 1 CCParticleSystem.cpp...

2012-07-24 10:49:00 114

转载 特效编辑器开发手记1——令人蛋疼菊紧的Cocos2d-x动态改变粒子数

近期在写一个用起来爽一点的特效编辑器,初步计划:1.仿HGE粒子特效编辑器实现粒子特效编辑功能2.实现多种粒子效果组合编辑功能3.实现编辑粒子运动路径功能4.实现将png纹理保存到plist文件功能5.实现动作,特效的编辑功能6.全部实现后开源开发环境是Windows + VS20XX一开始用的是1.12的版本,虽然不新,但稳定,想开发编辑器的...

2012-07-12 23:59:00 133

转载 巧用Unix时间戳

Unix时间戳包含了丰富的时间信息,很多平台都有时间戳的概念,也提供了不少操作时间戳的系统调用这些系统调用固然强大,但我比较喜欢使用便捷的方法,而不是去调用系统函数,下面分享敲代码时候碰到的两个小例子,我使用了非常规的做法,使效率提高了那么一点点。当代码变简单,变高效,哪怕只是一点点,心情都是非常舒畅的~~~定义:是从1970年1月1日(UTC/GMT的午夜)开始所经过...

2012-06-09 20:56:00 121

转载 让人死去活来的cocos2d-x安卓开发环境搭建(windows+eclipse+ndk 不用cygwin)【上图】

安卓环境搭建【一 写在前面】环境搭建的顺序是这样1.JDK&JRE 安装JDK会顺带安装JRE的,这一步是为了可以编写和允许普通的JAVA程序2.Eclipse JAVA 的 IDE,这一步是为了方便地开发JAVA程序3.CDT 是Eclipse的一个插件,这一步是为了可以引入C++...

2012-06-07 18:15:00 157

转载 MakeFile特殊符号

http://blog.chinaunix.net/uid-20564848-id-217918.htmlmakefile下$(wildcard $^),$^,$@,$?,$<,$(@D),$(@F)代表的不同含义$(filter-out $(PHONY) $(wildcard $^),$^)常用用法为$(wildcard *.c)表示列举当前目录下的所有.c文件这里$^因...

2012-03-29 19:09:00 278

转载 GLUT函数说明(转载)

GLUT函数说明(转载)一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。对应main函数的形式应是:int main(int argc,char* argv[]);这个函数从main函数获取其两个参数。void glutInitWindowSize(int width,int he...

2012-03-25 00:15:00 121

转载 【转】gdb调试动态链接库

【原文地址】http://www.microsuncn.com/index.php?title=%E7%94%A8gdb%E8%B0%83%E8%AF%95%E5%8A%A8%E6%80%81%E9%93%BE%E6%8E%A5%E5%BA%93在 Linux 可以用 gdb 来调试应用程序,当然前提是用 gcc 编译程序时要加上 -g 参数。我这篇文章里将讨论一下用 gdb 来调试...

2012-03-23 18:09:00 901

转载 AS3加载AS2的swf文件报错

今天做一个demo,要用as加载一个swf,报错“如果AVM1 内容(AS1 或 AS2)已加载到 AVM2 (AS3) 内容中,则不可将其移动到 displayList 的其他部分”以下是在网上找到的解决方案问题描述:我们都知道flash player有两个虚拟机AVM1和AVM2。前者是flash player9以下的版本运行时所需要的,它用来解析as1和as2。后者是专门为...

2012-03-13 17:49:00 164

转载 《疾风》开发手记:NxOgre最新版本的搭建2011-10-20

这段时间相对较闲,对《疾风》的开发也提上议程了...这是一款局域网内多人竞技的3D赛车游戏,准备使用OGRE作为图形渲染库,PHYSX作为物理库,CEGUI作为界面库,网络部分和主框架自己实现这是用业余时间来写的游戏,但随着技术和思想各方面的提升,以及对游戏开发的激情,我一定要把这个游戏写好前段时间看了Ogre Wiki上的系列教程,把初级教程和中级教程都翻译了,而后发...

2011-10-20 22:55:00 74

转载 Linux 操作系统下CPU多核心的绑定

现在多CPU的趋势越来越大了. 有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去. 下面给出了一个进程绑定到具体的CPU上去的一个例子.cpu.c[CODE]#include<stdlib.h>#include<stdio.h>#include<sys/types.h>#include<sys/sysinfo.h>#...

2011-10-18 18:12:00 122

转载 翻译betajaen的NxOgre简短教程

Betajaen’s shortguide to NxOgreBetajaen的NxOgre简短教程——宝爷译Alpha and Omega —A bit of everything整个世界中的所有东西World就像我们的宇宙,漫无边际而且只有唯一的一个。我们在world里面的东西叫做Scene,它们是有大小的。Scene和Scene之间不会有交集...

2011-10-18 17:51:00 114

转载 NxOgre的概念小结

1、系统中只能由一个world对象,而world中可以有多个Scene,在Scene中的对象不能与另一个Scene中的对象交互(相互影响),Scene包含很多Actor,每个Actor由一个或多个Shpae组成,shape有一个重要的Material,用来表示物体的材料(摩擦系数,弹性系数等)。2、NxOgre中有两种参数设置方式:类参数和字符串参数。从以下例子可以看出其不同用法...

2011-10-13 00:28:00 206

转载 Mysql Error 1042 Can't get hostname for your address

Mysql Error 1042 Can't get hostname for your address解决方案编辑/etc/my.cnf,在:[mysqld]内添加一行:skip-name-resolveMySQL忽略数据库表名大小写修改/etc/my.cnf,在[mysqld]内添加一行:lower_case_table_names=1 转载于:https://www...

2011-10-11 18:05:00 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除