Cocos2d-x
skillart
It is me.
展开
-
cocos2d-x 2.14 win32 项目移植到android
好累的赶脚。。。。1.选择ndk-r8e下载cygwin。 在环境变量path中添加ndk的路径。2.修改create-android-project.bat三个路径3.点击工程【属性】->【构建器】->【新建】一个NDK_Builder.在环境中配置。名称:NDK_MODULE_PATH值:E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4;E:\原创 2013-12-04 17:54:24 · 1231 阅读 · 0 评论 -
cocos2dx iOS crash _context presentRenderbuffer:GL_RENDERBUFFER
http://stackoverflow.com/questions/19285704/crash-if-backgrounding-cocos2d-2-1-app-in-ios7-while-watching-game-center-screen我把Director::getInstance()->stopAnimation();和Director::getInstance()->s原创 2016-02-03 16:04:27 · 3812 阅读 · 1 评论 -
//再回调里面调用lanuma表达式 this指针改变
auto okBtn = MySprite::create("#jiesuotankuang_3.png", [&](Ref* pSender){ if (GameData::getInstance()->canUnLockLevel(_selLevel)) { int needNum = GameData::getInstance()->getNeedHeartNumByUn原创 2016-02-04 17:31:16 · 516 阅读 · 0 评论 -
Cocos2dx中的TestCPP运行Box2dTest
原文链接:点击Cocos2dx版本升级到3.10,然后运行TestCPP,想看下Box2d怎么用。首先我是在TestCpp中添加预处理:CC_ENABLE_BOX2D_INTEGRATION=1,然后删除CC_ENABLE_CHIPMUNK_INTEGRATION,接着运行,结果谁知道点击Box2dTest尽然崩溃。如下:void PhysicsSprite::setB2Bod转载 2016-03-07 13:22:54 · 934 阅读 · 0 评论 -
convertToNodeSpace和convertToWorldSpace
游戏中经常会用到一些变换:游戏中武器和角色在一个layer上,为了效率,会考虑将bullet, effect和 PhysicsParticle分别放到不用的层上,对应的层上使用batchnode来提高效率武器和PhysicsParticleLauncher(粒子发射器)绑定,发射的时候,会向PhysicsParticleLayer的武器相同的位置上生成一个物理粒子特效会经常用到转载 2016-03-10 15:40:42 · 524 阅读 · 0 评论 -
实现photoshop 正常混合的shader
实际上就是openGl里面的混合模式{GL_SRC_ALPHA,GL_ONE_MIUNS_SRC_ALPHA}但是因为直接在cocos里面用混合模式就会多创建一个精灵,由于图片较大没有加入图集所以会增加draw call。就用shader实现了一个。vec4 BlendNormal(vec4 src, vec4 des) { float sr = src.a; fl原创 2016-08-25 17:27:47 · 1466 阅读 · 0 评论 -
cocos2dx shader在android上失效
因为在win32上正常,但是到了android上logcat上没有关于shader错误的信息。shader好难调试,最后发现是精度问题。float类型的和int类型的比较大小就发现shader没有起作用了。类型匹配后一切都ok了。原创 2016-08-30 17:17:16 · 1681 阅读 · 0 评论 -
python 解析excel
先把excel导出csv格式。解析成json# -*- coding: utf-8 -*- import os import sys import os.path import shutil import Image import jsonclass getoutofloop(Exception): passa ={'小图标':0,'名称':2,'价格':原创 2016-08-26 10:40:52 · 638 阅读 · 0 评论 -
convertToWorldSpace convertToWorldSpaceAR
锚点为0.5,0.5的时候auto inWordPos = childe->convertToWorldSpaceAR(Vec2::ZERO);auto inWordPos = parent->convertToWorldSpace(child->getPosition());相同。原创 2016-11-29 16:40:41 · 2616 阅读 · 0 评论 -
cocos2dx 3.x 播放视频bug
/* * Copyright (C) 2006 The Android Open Source Project * Copyright (c) 2014 Chukong Technologies Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this f原创 2016-12-28 10:34:58 · 1335 阅读 · 0 评论 -
cocos2dx3.x 类似 coverflow效果
由于镜面反射涉及到openGL,不会。h文件:#ifndef __CoverView_H__#define __CoverView_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;class CoverView : public CCNode , public CCScroll原创 2014-03-24 17:34:27 · 4232 阅读 · 5 评论 -
癞子麻将胡牌以及听牌算法实现
最先实现的就是算法的实现。需求:碰杠胡 ,不能吃 ,不能听 ,只能自摸胡,其中癞子可以做任意牌但是不能碰和杠。写的时候还不会玩麻将,还是老板教的。^_^最麻烦的是胡牌算法。之前搜到的都是不包含癞子正常的胡牌,用的是%3余2,其中余数2就是余的将的意思。但是有癞子就不能这么用了。只好自己写一个了。一个有136张牌,万,饼,条,东西南北中发白34种牌。有四个癞子是直接原创 2014-10-24 11:03:29 · 32918 阅读 · 64 评论 -
cocos2d里的法线贴图
法线贴图:可以看到法线贴图整体一般都是偏向蓝色调,这是因为做贴图的时候法线一般朝向z轴就是vec3(0,0,1), 大象的头顶和脊梁都朝向y轴就是vec3(0,1,0)所以偏蓝,大腿和屁股朝向x轴vec3(1,0,0)所以偏红。下面是2d光照的shader:#ifdef GL_ESprecision mediump float;#endif//这个好像没有用啊原创 2017-03-14 16:59:21 · 2166 阅读 · 0 评论 -
cocos2d-x嵌入android的camera 实现前后摄像头的预览和保存
网上关于cocos 和 camera交互的并不多,有些细节还没有处理,权当备注一下。参考org.cocos2dx.lib里的Cocos2dxWebView和Cocos2dxVideoView的实现。原理:创建一个cameraSurfaceView加在cocos2dActivity的mFrameLayout的下层。通过ClippingNode,把当前游戏mGLSurfaceVie原创 2017-04-01 10:48:47 · 3030 阅读 · 7 评论 -
cocos2dx导入到eclipse出现"C/C++ Indexer". java.lang.NullPointerException
解决办法:打开Android工程中的.cproject文件,删除下面代码即可。转载 2015-08-19 22:37:16 · 1623 阅读 · 0 评论 -
Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed
好久没有动的项目了,前几天改动了一下,今天发现问题了,很头疼。意思就是释放了又使用了。这类的问题真不好找的,以为是多线程的问题,最后排查好久,发现是获取一个getInstacne(),我以前释放掉了。之后又用了,就出现这种情况了。记录一下。原创 2015-05-05 17:31:53 · 92281 阅读 · 0 评论 -
cocos2d-x c++ 和 java互调
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //判断当前是否为Android平台 extern "C"{ void Java_com_qingxue_game_GunStreet_getPoint(JNIEnv* env, jobject thiz, jint a) { shopLayer->setGainPoint(a); }}#endif void ShopLayer::setGainPoint(int gain){ in原创 2014-01-10 12:50:51 · 4364 阅读 · 0 评论 -
CCARRAY_FOREACH
最近项目老是崩溃。才发现是CCARRAY_FOREACH的问题。以前发现过还以为是自己写代码不规范,这两天真是操蛋了啊。打开cocos2dx源码#define CCARRAY_FOREACH(__array__, __object__) \if (__array__ && __array__->原创 2014-03-15 00:12:18 · 2042 阅读 · 0 评论 -
mac下cocos2dx3.0移植到android出现问题
蛋疼的一天,饭都木吃啊原创 2014-04-21 19:33:33 · 1102 阅读 · 0 评论 -
cocos2dx3.0 vector删除元素
Vector vec; for (int i = 0; i < 4; ++i) { auto n = Node::create(); n->setTag(i); vec.pushBack(n); } Vector toErase; for(auto n : vec) {原创 2014-04-28 14:38:40 · 6417 阅读 · 0 评论 -
CCNotificationCenter 回调函数不执行
CCNotificationCenter 添加监听的时候可以原创 2014-08-09 16:07:41 · 1433 阅读 · 0 评论 -
函数指针详解
一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x);//此处的申明也可写成:void MyFun(int );int main(int argc, char* argv[]){ MyFun(10);//这里是调用MyFun(10);函数 return 0;}voi转载 2014-08-09 16:22:24 · 708 阅读 · 0 评论 -
虚拟摇杆SneakyInput的多点触摸问题
SneakyJoystick和SneakyButton继承的都是原创 2014-08-17 18:44:06 · 1659 阅读 · 0 评论 -
cocos2dx接入shareSDK
最刚开始接入的是友盟,但是设置targetURL无效原创 2014-10-24 09:38:34 · 1826 阅读 · 0 评论 -
cocos输入框崩溃问题
我用的cocos2dx2.23。用搜狗输入法有遇到崩溃的地方,比如内置的webView会出现这个毛病。在libcocos2dx的lib下Cocos2dxTextInputWraper.java文件第127行之前加一行if(this.mOriginText == null) return false;就可以解决了。原创 2014-11-27 14:09:52 · 1425 阅读 · 0 评论 -
cocos2dx实现全局游戏公告
最刚开始分平台调用原生的提示,但是由于项目之后要显示的内容变的复杂,只好研究一下全局的游戏公告该怎么显示了。直接addChild的是行不通的,或者处理起来比较繁琐,因为每次切换scene都会清空。研究了一下cocos2dx的渲染机制。入口:CCApplication::sharedApplication()->run()CCDirecor会周期执行一个mainLoopint CCA原创 2014-12-01 16:21:12 · 2545 阅读 · 0 评论 -
cocos2dx android和iOS平台的崩溃捕获和收集
收集了两三天andoird都没有出来,崩溃的时候没有能补足到崩溃的堆栈信息。后来接入了腾讯的bugly,很快就完事了。android配置很简单。说下iOS的。发现ios真贱,搞啥都麻烦,oc还丑的一比,草!!!frameWorkd 库选择Bugly_libc++把libstdc++.dylib 去掉换成libc++.dylib修改编译设置的c++ Standard Libr原创 2014-12-11 11:30:34 · 3614 阅读 · 2 评论 -
Cocos2Dx之渲染流程
渲染时一个游戏引擎最重要的部分。渲染的效率决定了游戏的流畅度清晰度,跟前面的介绍的内容相比,渲染是最具技术含量的事情,也是一个需要很多专业知识的事情。这里我们有这个机会,来学习下一个游戏引擎的渲染是怎么做的。Cocos2Dx是一个2D框架,可以简单地看做z轴在一个平面上,Cocos2Dx采用的OpenGL技术决定了往3D渲染上面走也不是不行的。最新3.2版本已经支持3D骨骼动画的CCSprite。转载 2015-03-31 16:09:31 · 4110 阅读 · 0 评论 -
用cocos2d-x制作连连看
最近一段在看cocos2d-x。就坐个连连看练手。难度主要是还是算法实现。最开始想用bfs,后来发现最短路径的转弯个数不一定是最小的。然后就用dfs了,设置两个变量turn_num,step_num标记转弯个数和步数进行剪枝,算法效率还是挺快的。没有去用二维数组存取位置信息,为了方便只是用个CCArray存储,影响不大。void GameLayer::link_dfs(bool原创 2013-10-20 20:10:38 · 3748 阅读 · 1 评论 -
lua添加面向对象
目标:实现一个class函数,给lua添加面向对象的特性基础:和编译型的面向对象语言不同,在lua中不存在类的定义这样一个概念,不管是类的定义还是类的实例都需要通过lua table来模拟。我们实现的lua面向对象是prototype方式的,即类是一个lua table,这个table 定义了类实例的原型, 类的实例则是基于这个原型的另一个lua table。关键:实现Lua面向对象可以分解为类的定转载 2017-05-15 16:57:24 · 574 阅读 · 0 评论