自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 相对路径转绝对路径c高性能

string getAbsolutePath(string input){ unsigned long size = input.size(); char buff[512]; int buffIndex = 0; unsigned char pos[100]; int sigNum = 0; for(int i=0;i<size;i++){ if ((i+2)<size && input[i] == ...

2021-06-12 02:28:21 218

转载 Mac下配置Apache服务器

原文请点击:Mac下配置Apache服务器有的时候,我们需要在内网工作组中分享一些文件或是后台接口没有及时给出,你又想要模拟真实数据,直接在项目里创建plist也可以做到这种需求,但难免让工程变得冗余且看起来比较Low。这个时候就看出配置本地服务器的重要性了,不用时刻等着后台接口的更新,只需要根据接口文档自己模拟真实数据,即方便又显得高大上。Mac自带了Apache环境,我们要做的只是稍微配置一下...

2018-04-18 23:05:56 276

原创 js类机制的简易实现

// -- @Author: Dongzhejia// -- @Date: 2018年04月16日// -- @des:js 类的简易实现function jsClass (parent) { if (parent&amp;&amp;typeof(parent)!="function") {        throw new Error("parent tyoe error need functi...

2018-04-16 18:54:34 199

转载 js类的实现

//// JSB supports 2 official ways to create subclasses//// 1) Google "subclasses" borrowed from closure library// This is the recommended way to do it//cc.inherits = function (childCtor, p

2017-11-01 16:43:28 328

原创 简单的js胡牌算法

function tryHu(cards){var resArray = []var cds = cards.slice(0)cds.sort(function(a,b){return a-b})var haveJiang = falsevar recursion = function(){if(cds.length==0){return true}consol

2017-10-26 22:02:37 782

原创 js字符串加密

var key = "bde26f760ddb000f0a569e9bc39b9017060647e0"function encodeAndDecode(str){var keyIndex = 0var codeStr = ""for (var i = 0; i codeStr += String.fromCharCode(str.charCodeAt(i) ^ key.cha

2017-08-26 16:51:22 753

转载 Lua内存泄露检测原理

lua内存泄露首先第一点,lua中的内存泄露和我们所说的c/c++中的内存泄露本质上是不一样的。lua中有垃圾回收机制(GC),所以理论上是不会有内存泄露的。当它进行GC的时候,会从根部开始扫描所有的对象,如果某个地方对这个对象还有引用,就不会把这个对象内存collect,这个对象就没有被GC。所以lua中的内存泄露是指那些:已经没有被使用了,但外部依然还有引用存在的对象。

2016-05-21 17:33:56 1053

转载 开发者必备:六大图片、图标处理类工具

1. SlicySlicy是MacRabbit公司的跨世纪经典之作,可谓是iOS设计师必备一款的切图神器,旨在帮助设计师解决在切图上的烦恼。Slicy操作十分简单,设计师只要把PSD文件拖进Slicy的窗口,Slicy就会自动生成.jpg和.png等格式的切图文件,除此之外,Slicy还能够把普通像素的图片转换成视网膜像素的高品质图片。 主要特性:

2015-12-25 10:51:32 1891

转载 CCActionEase(4)

本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。在上一篇中我们介绍了两种反弹效果动作——Ease Back和Ease Bounce,今天我们将要介绍第三种反弹效果动作——Ease Elastic。那么这个Elastic是什么呢?维基百科上说,Elastic是对弹性体或者可伸缩纤维的口语说法,或者是指小孩子玩的跳皮筋游戏。下面我们就研究一下这个Elasti

2015-11-27 15:44:47 396

转载 CCActionEase(3)

本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。我们前面介绍的动作主要是用来改变内部动作的执行速度,接下来要介绍的这几个动作主要是用来增加表现效果的,可以看作是简单的特效。10)CCEaseBackIn1 void CCEaseBackIn::update(ccTime time)2 {3 ccTime overshoot = 1.70158f;4 m_

2015-11-27 15:42:57 355

转载 CCActionEase(2)

本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。相比之前的速度正弦变化动作(这个东西叫什么更好一些?渐变动画?)与速度指数级变化动作,CCEaseIn/CCEaseOut/CCEaseInOut更具灵活性。你可以设置运动的速率,甚至是在运动的过程中改变速率。它们拥有共同的基类——CCEaseRateAction。不要直接使用CCEaseRateAction,因为它没有实现任何变化效

2015-11-27 15:41:26 462

转载 CCActionEase(1)

本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。为了方便用户灵活地控制精灵运动,cocos2d-x提供了CCActionEase类系的动作。它们拥有相似的名字——CCEaseXxxxIn、CCEaseXxxxOut、CCEaseXxxxInOut,同时也拥有相似的行为——速度由慢至快、速度由快至慢、速度先由慢至快再由快至慢。但是除了这些,我们对CCActionEase一无所知。

2015-11-27 15:39:39 467

转载 lua时间函数

一、时间的三种格式1、用数值表示时间值 用数字值来表示时间值,实际上时间值的本质就是一个数字值。例如:d = 1131286477 这里的 1131286477 是一个以秒为单位的 格林威志时间(gmt),注意不同时区的时差2、用字符串表示时间 用字符串来来表示时间。例如:d = "2005-11-06 22:18:30"

2015-11-19 12:44:31 747

翻译 手持平台纹理格式说明

使用原则1.在内存够用的情况下,带Alpha通道的贴图请使用png格式,没有Alpha通道的使用jpg。如果你的游戏内存不足时,请使用如下所列的专属贴图格式.2.需要效率的游戏(如较多3D物件的游戏),使用请专属贴图格式.3.至于Android设备,游戏开发者贴图分格式包麻烦,直接用png最省事,需要省内存的就用PVR RGBA4444格式。如果游戏能赚钱再考虑对主流Android机做数据

2015-08-04 12:25:57 1237

转载 Cocos2dx 禁止锁屏

IOS版本:在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可:[objc] view plaincopyprint?// 禁止ios设备锁屏      [[UIApplication sharedApplication] setIdleTimerDisabled: YES];  Androi

2015-03-28 20:50:04 625

转载 深入分析Cocos2d-x 2.0中的“纹理”

我们来看一下cocos2d-x中的libcocos2d库,其下有许多目录,找到textures展开,可以看到有CCTexture2D,CCTextureAtlas,CCTextureCache,CCTexturePVR四个类。这四个类的功能分别是:   CCTexture2D: 纹理,即图片加载入内存后供CPU和GPU操作的贴图对象。  CCTexturePVR:处理P

2014-10-14 17:36:22 1145

转载 Cocos2d-x之CCImage深入分析

Cocos2d-x之CCImage深入分析             CCImage类:支持从JPG,PNG,TIFF以及数据流,字符串中创建供Cocos2d-x进行访问的图片数据对象。        这是一个非常重要的类,因为它是你使用cocos2d-x来加载图片的基础。目前此类只支持JPG,PNG,TIFF三种图像文件,对于这三种图像文件,CCImage分别使用libjpg,libpng

2014-10-13 01:45:22 694

转载 iOS和android游戏纹理优化和内存优化(cocos2d-x)

1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即使不

2014-10-13 01:08:42 498

转载 内存优化

在游戏项目优化中都会碰到一个问题,如何既能减少内存又能尽量减少包的大小?在实际项目中有些经验分享一下,事实上2D游戏中最占内存的就是图片资源,一张图片使用不同的纹理格式带来的性能差异巨大,下表是我在IOS平台一个小Demo中的测试结果,该Demo的原始内存占用是7M,测试方法是一次性加载5张2048*2048的图片,使用TexturePacker工具生成图片,内存统计使用Instrument工具,

2014-10-13 00:21:14 496

转载 cocos2dx 图片变灰及正常显示实现(lua可以调用)

图片变灰, 采用shader就可以实现,  有2中方法, 1,  像CCSprite一样create2.  把CCSprite传进来, 并把图片要不要变灰的flag传进来, 具体实现看代码和后面的使用方法-----------------------------------------GraySprite.h//// GraySprite.h// godde

2014-10-12 23:57:27 2099

转载 (译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思来,但难免会加入自己一些理解进去。还有这篇文章所采用的xcode版本是3.2.5,用xcode4.0的朋友可能实现起来有点出入,我会在文章的最后给出解决办法。  文章原来出处:http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-

2014-10-12 22:59:53 531

转载 coco2d-x 纹理研究

1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要比PNG格式要快和小。一般情况下PVR消耗的内存比PNG消耗的内存小25%左右。PVR格式可以用ZWoptex导出。PVR是apple芯片能直接读取和显示的文件. 2.图片抗锯齿处理。图片放大时的处理:图片在放大的时候会出现锯齿。纹理类提供了setAntiAliasTexParamet

2014-10-12 22:57:39 579

转载 图片mask混合

Texture2D* openImage(const char* jpgFile,const char* maskFile){    std::string name = jpgFile;    name.erase(name.length()-4,4);    std::string outname = name + ".png";    auto ret = Direc

2014-10-12 22:55:58 568

转载 Sublime Text

所谓磨刀不误砍柴工,找到一个好的编辑器会让代码编写更加流畅找了很多编辑器,最终找到真爱 sublime text这玩意可以说是,你想它低调他就能低调,你想它大气就能大气。支持很多扩展、插件、自定义,可定制性非常高。对于cocos2d-x的自动补全,可以使用cocos2d_lua_snippets这个插件使用很简单,从git上下载所有文件,然后打开sublime text

2014-07-16 13:45:01 532

转载 CocoStudio sample讲解 SampleChangeEquip 换装系统

换装系统是游戏里面可以提升游戏内容的部分, 就像电影里面女猪脚总是不停地上换一套一套漂亮的衣服. 我们在做游戏的时候, 就没有拍电影那么潇洒了, 要费好大力气才能实现换装. 现在CocoStudio提供了超酷的换装系统, 分分秒秒实现换装, 让我们游戏的主角也可以像电影女猪脚那样不停地换上漂亮, 酷帅的衣服装备了. 下面就让我们看看如何实现吧!   一 目标    在本教程里,

2014-07-14 18:11:54 1123

转载 Cocos2d-x3.0 lua绑定C++类

这里记录下我实现Lua绑定的全过程。原文地址:http://blog.csdn.net/qqmcy/article/details/26099859准备工作:1、创一个一个Lua的2dx工程。(这个网上已经有好多了)2、创一个C++类。TestScene.h  这个只是一个简单的场景[cpp] view plaincopyprint?//  

2014-07-01 01:20:39 485

转载 lua常用库函数

lua常用库函数table一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明.table.concat(table, sep,  start, end)concat 是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到e

2014-06-29 12:20:03 802

转载 lua常用数学库

lua_getallocflua_Alloc lua_getallocf (lua_State *L, void **ud);返回给定状态机的内存分配器函数。如果 ud 不是 NULL ,Lua 把调用lua_newstate 时传入的那个指针放入*ud 。lua_getfenvvoid lua_getfenv (lua_State *L, int index);把索引处值

2014-06-29 12:12:51 617

转载 cocos2d-x常用函数和宏

最近我们的cocos2d-x游戏项目已经进入了正式开发的阶段了,几个dev都辛苦码代码。cocos2d-x还是一套比较方便的api的,什么action啊、director啊、ccpoint啊都蛮便捷的。但是我看到几个dev有时候会很不知道用它们,还是首先自己去写函数……用一些比较原始、低效率的方法……甚至是copy / paste………………。……。这不科学

2014-06-29 11:49:26 575 1

转载 cocos2d-x中通过Jni实现Java与C++的互相调用

cocos2d-x中通过Jni实现Java与C++的互相调用。cocos2d-x用开发者提供了一个类JniHelper,提供了java与c++之间互调的jni解决方案。笔者所开发的“史上最坑爹的游戏”项目中使用到了JNI,为此专门定义了一个类JniUtil.头文件JniUtil.h中需要引入如下两个.h文件:1#include

2014-05-11 23:30:43 786

转载 cocos2d-x 通过JNI实现c/c++和Android的java层函数互调

文章摘要: 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。 (2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。 1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得…本文

2014-05-11 23:29:48 721

转载 Cocos2dx中Android部分的c++和java实现相互调用

要完成在cocos2dx的场景上一个点击事件,传递一个消息到java层,下面让我们看看如何完成它。包括 你需要在你的项目中添加以下引用,原作者已经建立了一个在线项目。请确保在你的项目中包含文件了c++和Java,这里有个链接你可以查看一下: EasyNDK C++ 层面: 01#include "NDKHelper.h"

2014-05-11 23:16:35 450

转载 Cocos2dx 小技巧(六)断言CCAssert

这篇介绍的是让广告劳苦群众又爱又恨的CCAssert!--------------------------------------CCAssert,也就是断言啦,当然了功能和断点也挺相似的。使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:[cpp] view plaincopyCCAssert(cond, msg); // 断言表达式co

2014-05-09 22:15:05 664

转载 Cocos2dx 小技巧(七) 静态数据

这次讲下静态数据的使用。额,看到静态数据几个字是不是感觉很有技术性,什么static之类的。哈哈。那么啥是静态数据呢?静态数据就是程序中的只读数据,例如我们游戏里有一些NPC,他们的名字、图片、人物介绍都是固定不变的,并不会再游戏过程中发生改变,例如你并不可能说在《富甲封神传》这款游戏里用哪吒打败了李靖就认为哪吒是李靖的老子吧?当然了,在游戏开发过程中这些NPC的属性数值可能经常变动,如哪吒的

2014-05-09 22:14:41 517

转载 Cocos2dx 3.0 过渡篇(二十四)死不了的贪食蛇(重力版)

近来cocos2dx的论坛刮起了一阵制作贪食蛇的潮流,我也打算来凑个热闹。不过主要目的还是因为在写3.0过渡篇的系列博客时讲的都是理论,缺少实践。这次就用贪食蛇的例子较为系统的介绍3.0与2.0的一些不同之处。(当然了,有的人肯定会说我是冲沈大海老师的书来了,这种事坚决不能忍!,我慎重说明:我的收货地址是...)------------------贪食蛇嘛,大家都懂的,就是那条又长又细、可

2014-05-09 22:14:18 682

转载 Cocos2dx 小技巧(八) visit的逆袭

这次我从茫茫码海里将visit给拉了出来。这货有啥用呢?呵呵,用法从一个故事说起吧:假设你暗恋一个女神(就叫奶茶MM吧~),追求的第一步肯定要先知道她的一些资料,如姓名,年龄,身高,三围...等等。但羞涩的你不知从何下手,这时博主脚踏七彩祥云从天而降!博主说:奶茶MM最全的第一手资料就在一个dic字典里,想知道就自己去取吧。你很高兴,激动的说:dic在哪里啊?博主一愣,dic...

2014-05-09 22:13:40 564

转载 Cocos2dx 小技巧(九)现成的粒子特效

这篇讲的是粒子,其实我对粒子这一块没什么研究,因为当初刚开始接粗cocos2dx时,总经理和我说粒子这块可以暂时不去了解,因为还用不到。他的这话也导致我很长时间都有意无意的去避开粒子这一块知识。所以说啊,我也是个菜鸟啊,还有很多东西不懂。虽然博客写的还比较多,但水平也就尔尔吧,有的人叫我大神,大侠啥的,请千万别“诅咒”我啊~~~。因为知识从懵懂到理解的过程是痛苦而又快乐的,每次一学到一个新的知识点

2014-05-09 22:12:59 984

转载 Cocos2dx 3.0 过渡篇(二十五)死不了的贪食蛇(触摸版)

上一篇写的贪食蛇的重力感应控制版,这一篇就讲下触摸控制版吧。额,也不知道写了那个贪食蛇教程到底有没有获得沈老师的书,如果没有的话,看我不拿西瓜刀砍掉 偶尔E往事 的那啥!重力版链接:http://blog.csdn.net/start530/article/details/23707985触摸版与重力版的代码大部分都一样,不一样的地方就是要将打开重力感应换成创建一个触摸监听。过

2014-05-09 22:12:27 508

转载 Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上)

本篇介绍的是线程!在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread。cocos2dx 3.0的版本默认是在vs2012版本,支持c++11的新特性,使用std::thread来创建线程简直方便

2014-05-09 22:11:58 740

转载 Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)

简单的东西我都说的差不多了,想挖点深的差点把自己给填进去。下面实际演练一下。请允许我参考偶尔E往事的一篇线程的博客, 他用的是pThread,这里我就用std::thread。1.售票孙鑫老师的C++和Java多线程售票也一直让我念念不忘(好吧,我承认我没看过),这里用cocos2d-x3.0和C++11的std::thread实现一个吧。总共有100张诺亚方舟船票,有2个售票点A和B

2014-05-09 22:11:31 476

空空如也

空空如也

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

TA关注的人

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