- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 cocos2dx 3.x使用Box2d
众所周知cocs2dx 3.x中有个Physics的封装,本意可能是想同时封装chipmunk和box2d,但为什么只实现了chipmunk就不管box2d了呢。。最近尝试了一下,chipmunk问题很多,只要PhysicsBody速度够快,即便是和staticBody或Edge碰撞都可能发生穿透,而且即使没有发生穿透,如果持续给一个body设置速度,它就会无视碰撞,堂而皇之的穿透出去。。
2017-04-09 16:23:12
2633
原创 基于Spine3.3的换装(纸娃娃,avatar)功能
void SkeletonAnimation::SetSlotTexture(unsigned index, const std::string& slot_name, const std::string& attach_name, const std::string& texture_path){ if (index >= _custom_pages.size()) { _custom
2016-07-25 00:59:28
6195
原创 cocos2d-x 3.0的lua-binding接口导出
在cocos2d/tools/bindings-generator/文件夹下是接口导出的工具,在cocos2d/tools/tolua/文件夹下是接口定义文件和执行导出工作的sh\bat,有一些官方导出接口用的*.ini文件,还有一个readme文件,里面有介绍如何安装和使用这个工具,我没有到windows下进行验证,请自己查看。而关于mac下的使用方法,readme只提供了一个链接,链接是b
2014-03-11 00:03:09
7390
原创 在Mac上配置cocos2d-x 3.0的Android开发环境
不得不说在mac上配置android的开发环境比windows下要方便多了,省掉了麻烦的cygwin。下载cocos2dx和配置ios开发环境在上篇:http://blog.youkuaiyun.com/zhanhuai1/article/details/20669235今天记录一下mac下android开发环境的配置首先下载JDK,略过,然后下载ADT Bundle,http://d
2014-03-08 12:32:12
3039
原创 在Mac上配置cocos2d-x 3.0,xcode5资源无法刷新的问题
首先下载cocos2d-x略过,然后解压自己选好路径略过,然后下载python,通过终端(ctrl+space,输入terminal就搜到终端了)进入cocos2d-x的路径,进入tools/project-creator/目录,(有个README文档的,可以看一下),在mac下直接打./create_project.py就出现图形界面,帮你创建工程了然后找到刚才创建的工程目录,进入p
2014-03-07 01:54:49
2948
原创 cocos2d-x基础<四> Action
CCAction -> { CCFiniteTimeAction, CCFollow, CCSpeed}CCFiniteTimeAction -> { CCActionInstant, CCActionInterval } CCActionInstant -> { CCCallFunc, CCFlipX, CCFlipY, CCHide, CCPlace, CCReuseGrid, CCS
2012-02-28 00:34:49
3218
原创 cocos2d-x基础<三> 播放动画
1. 加载一张纹理,创建CCTexture2D,并在这张纹理上划分出多个CCSpriteFrame: CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("animations/dragon_animation.png"); // manually add frames to the
2012-02-17 23:19:52
3523
原创 cocos2d-x基础<二>
1.程序入口程序入口为cocos2d::CCApplication::run()。这里的CCApplication是单件,所以只需要从它派生一个子类,如HelloWorld中的AppDelegate,原来调用以下代码:AppDelegate app;return cocos2d::CCApplication::sharedApplication().run();2.创建程
2012-02-13 14:16:42
5968
原创 cocos2d-x基础<一> Android环境配置和HelloWorld的运行
1.首先到http://www.cocos2d-x.org/下载最新源码2.安装android sdk到http://developer.android.com/sdk/index.html下载SDK并安装,然后运行SDK Manager,更新需要的开发组件。安装ADT打开Eclipse(官方强烈建议使用Eclipse进行Android应用的开发),点击Help > Insta
2012-02-11 21:48:20
1144
原创 libgdx demo 分析:<superjumper>
1. GameObjectGameObject是游戏内物体的基类,派生出Castle(关卡结束时的城堡)、Coin(硬币)、Spring(弹簧)、DynamicGameObject(动态物体)。DynamicGameObject又派生出Bob(玩家角色)、Platform(用来跳跃的踏板)、Squirrel(松鼠敌人)。这几个类型都没有任何涉及Render的函数,算是数据和表现
2012-02-09 11:15:39
2347
原创 获取Libgdx源码和demos
原链接:http://code.google.com/p/libgdx/1. release版的libgdx中是不包含demos的,要看demo,就要使用svn获取源码,svn地址为:http://libgdx.googlecode.com/svn/trunk2. 当然还要按http://blog.youkuaiyun.com/zhanhuai1/article/details/6998295中写的配
2012-02-07 14:22:00
5358
转载 Lua For Windows 环境配置及使sciTE支持中文
转载地址:http://apps.hi.baidu.com/share/detail/24952746环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/lua for windows其实是一整套Lua的开发环境,它包括:Lua Interpreter(Lua解释器)Lua Reference Manua
2012-02-06 16:40:36
3448
翻译 swig+python的用法
原链接:http://www.swig.org/Doc1.3/Python.html#Python_nn7基础用法(以C为例)1. 写两个.h和.c文件如下:/* File: example.c */#include "example.h"int fact(int n) { if (n < 0){ /* This should probably return an
2012-02-06 11:55:30
8001
转载 创建和使用动态链接库
原文链接:http://msdn.microsoft.com/zh-cn/library/ms235636(v=vs.90).aspx我们将创建的第一种类型的库是动态链接库 (DLL)。使用 DLL 是一种重用代码的绝佳方式。您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。本演练涵盖以下内容:创建新的动态链接库 (
2012-02-04 15:14:30
670
原创 windows下编译boost库
1. 从http://sourceforge.net/projects/boost/files/boost/1.48.0/ 下载最新的1.48版本boost库,并解压,解压路径称为$BOOSTDIR2. 在$BOOSTDIR/tools/build/v2路径下找到并运行bootstrap.bat,会在该路径下生成b2.exe和bjam.exe3. 把b2.exe和bjam.exe复制到$B
2012-02-04 11:52:08
5582
转载 VC++多线程编程
转自:http://www.cnblogs.com/wxfasdic/archive/2010/09/23/1833522.htmlVC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为ID
2012-01-15 18:38:53
699
原创 不定数量参数的函数
void CALL HGE_Impl::System_Log(const char *szFormat, ...){ FILE *hf = NULL; va_list ap; if(!szLogFile[0]) return; hf = fopen(szLogFile, "a"); if(!hf) return; va_start(ap, szFormat); vfprin
2012-01-04 21:23:59
438
转载 __declspec关键字详细用法
原文链接:http://hi.baidu.com/baiyw920/blog/item/a06ddb986314fd0f6e068c0c.html __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并标准
2012-01-04 21:14:41
448
转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/jia_xiaoxin/archive/2008/09/14/2868216.aspx 关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是__cdecl方式,而w
2012-01-04 21:01:23
534
转载 前++和后++的实现
前置++:type operator++(); 后置++:const type operator++(int ); 为了编译器区分前置和后置++,C++规定后缀形式有一个int类型参数 ,当函数被调用时,编译器传递一个0做为int参数的值给该函数。不这样规定,无法区分,因为都仅以自身对象为入参。 下面是一个简单的例子: class CInt {
2012-01-04 20:23:04
608
1
转载 Windows内存原理与内存管理
原文地址:http://hi.baidu.com/%D0%A1%B0%FC%D7%D349/blog/item/de1a8e4fa5eeafc3d0c86a68.htmlWIndows为每个进程分配了4GB的虚拟地址空间,让每个进程都认为自己拥有4GB的内存空间,4GB怎么来的? 32位 CPU可以取地址的空间为2的32次方,就是4GB(正如16位CPU有20根寻址线所有拥有2的20次
2011-11-30 22:24:49
1043
原创 char*和char[]
char* s1 = "abcd";// 1char s2[] = "abcd";// 2char s3[] = { 'a', 'b', 'c', 'd'};// 3以上三种定义都能通过编译。其中s3的初始方式是非法的,因为没有终止符。s1和s2的定义合法。strlen( s1) 和strlen(s2)都等于4,s1[4]和s2[4]都是0,所以都可以通过cou
2011-11-28 23:59:10
593
转载 C/C++程序员应聘常见面试题深入剖析(3)
原文链接:http://dev.yesky.com/471/2306471_3.shtml试题5:编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh” 函数头是这样的://pStr是指向以'\0'结尾的字符串的指针//steps是要求移动的nvoid
2011-11-24 20:52:25
563
转载 C/C++程序员应聘常见面试题深入剖析(2)
原文链接:http://dev.yesky.com/471/2306471_2.shtml 3.内功题 试题1:分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量: if(var==0) float型变量: const
2011-11-24 00:06:52
866
转载 C/C++程序员应聘常见面试题深入剖析(1)
原文链接:http://dev.yesky.com/471/2306471.shtml 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面
2011-11-23 23:57:19
645
翻译 LibGdx项目配置
主项目配置 1. 在Eclipse中创建一个Java项目:File->New->Project->JavaProject。填写工程名字,然后点击Finish。 2. 进入主项目的文件夹,并创建一个子文件件,命名为“libs”。到http://libgdx.l33tlabs.org/下载最近的源代码,解压,把gdx.jar和gdx-sources.jar放到libs文件夹内。 3.
2011-11-21 23:16:52
1996
翻译 LibGdx----scene2d
scene2d scene2d package是一个2D场景图结构,用来管理场景中的actors组。它能处理用户输入,并在相对于父actor的坐标系统中进行旋转和缩放。它还提供一个刷新actors的框架。scene2d.ui package对建立GUI很有用。Important classes Stage类有一个名为"root"的group(组),可以向其中添加actors。Sta
2011-11-20 14:49:49
5477
翻译 LibGdx----Texture, TextureRegion, SpriteBatch
Introduction 本章介绍2D图形相关的一些基本内容,包括如何使用Texture,TextureRegion和SpriteBatch。Texture 略。。SpriteBatch LibGdx使用SpriteBatch来完成纹理映射并在屏幕上显示被纹理映射的四边形的所有工作。它使得在屏幕上绘制图形极为简单,并且经过优化。它在屏幕坐标系中工作,使用屏幕像素的绝对坐标
2011-11-20 01:02:16
6730
转载 hashtable
二叉搜索树具有对数平均时间的表现,但这样的表现还建立在一个假设上:输入数据足够随机。 hashtable(散列表)的数据结构在插入、删除、搜索等操作上具有“常数平均时间”的表现,而且这种表现以统计为基础,不需要依赖输入元素的随机性。 简单的说,hashtable就像是用一个array来作为容器,把要存储的数据value编码成数字i,然后把value保存到array[i]的位置,以后要搜
2011-11-16 01:09:21
5261
转载 set, map
set的特性是, 所有元素都会根据键值自动被排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值,并且不允许两个元素有相同的键值, 但multiset允许相同键值。 set的元素值不可以通过迭代器改变,因为其元素值就是键值,关系到set的排列规则。在源代码中,set::iterator被定义为底层RB-tree的const_i
2011-11-14 23:21:43
1543
转载 tree, RB-tree(红黑树)
二叉树的意思是:任何节点最多只能有两个子节点的树。 二叉搜索树可提供log(N)的元素插入和访问,它的节点旋转规则是:任何节点的键值一定大于其左子节点树中的每个节点的键值,并小于其右子树中的每个节点的键值。因此,从树节点一直往左走到底,即得最小元素;从根节点一直往右走到底,却得最大元素。 但是,由于插入值无规律,二叉搜索树可能失去平衡,造成搜索效率低落的情况。解决办法就是尽量使树形左右
2011-11-14 00:45:23
8840
转载 heap(堆)
heap不属于STL容器组件,它作为一种底层机制,可以对vector、list等容器进行操作,使其符合“堆”的特性:允许用户以任何次序将任何元素推入容器,但取出时一定是从优先权最高的元素开始取。 所谓binary heap相当于一种完全二叉树,整棵树除了底层的叶节点之外,都是填满的,而最底层的叶节点由左到右不得有空隙。由于整棵树没有任何节点漏洞,带来一个极大的好处:可以使用array来储存所
2011-11-13 13:25:28
772
转载 list
list不能像vector那样以普通指针作为迭代器,因为其节点不保证在储存空间中连续存在。因为要保证迭代器能进行operator++, operator--,所以STL list是一个双向链表。 list比vector好的地方在于,插入操作(insert)和接合操作(splice)都不会使原有的迭代器失效。(上一篇介绍过,vector会在扩充空间时使得原有迭代器失效)。但是删除操作(er
2011-11-12 00:50:39
481
转载 vector
vector维护的是一个连续线性空间,所以不论元素型别为何,普通指针也都可以作为vector的迭代器来支持所需要的操作,如operator*, operator->, operator++, operator--, operator+, operator-, operator+=, operator-=。 如果客户端写出这样的代码:vector::iterator ivite;vec
2011-11-11 00:50:44
550
转载 高级着色语言HLSL入门(6)
<br />转载链接:http://www.cppblog.com/lovedday/archive/2008/04/05/46318.html<br /> <br />abs(x)<br />返回 |x|<br />ceil(x)<br />返回 ≥ x 的最小整数<br />clamp(x, a, b)<br />Clamps x to the range [a, b] and returns the result.<br />cross(u, v)<br />返回 u × v(叉积)<br />deg
2011-03-07 00:17:00
538
转载 高级着色语言HLSL入门(5)
转载链接:http://www.cppblog.com/lovedday/archive/2008/04/05/46316.html16.4关键字、语句和强制转换16.4.1 关键字<br />为便于参考,这里给出一个HLSL定义的关键字列表:<br />asm bool compile const decl do<br />double else extern false f
2011-03-07 00:12:00
582
转载 高级着色语言HLSL入门(4)
转载链接:http://www.cppblog.com/lovedday/archive/2008/04/05/46315.html16.3 变量类型<br />注意:除了下列各小节中描述的类型外,HLSL还有一些内建的对象类型(如:纹理对象)。<br /><br />16.3.1 数值类型<br />HLSL支持下列数值类型(scalar type):<br />bool—True or false value. Note that HLSL provides the true and false key
2011-03-07 00:03:00
938
翻译 Graphics Pipeline
summary现在我们要进行图形管线并且看清楚它的每个工作步骤。着色器和特效系统都会进行解释。本例的代码和上一例是完全一样的。但是会强调不同的知识面。 The Graphics Pipeline在上一节中,我们建立了顶点缓冲,然后绑定了一个顶点布局和一个technique对象。现在,我们将解释这个technique对象和组成它的着色器。为了完整的理解分开的着色器,我们要回头去看
2010-03-14 16:52:00
2617
翻译 Rendering a triangle
Elements of a triangle一个三角形由它的三个顶点来定义。三个不同位置的顶点能定义一个独一无二的三角形。为了告诉GPU渲染一个三角形,我们必须告诉它这三个点的坐标。下图是一个2D的例子。我们要传递三个坐标分别为(0,0), (0, 1), (1, 0)的点给GPU,然后GPU就有足够的信息来渲染我们想要的三角形。 现在我们必须要告诉GPU三个坐标。我们要如何做呢?
2010-03-14 16:40:00
1120
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人