摘要:
ui部分使用了cocoStudio,注意这里没有实现怎么屏蔽其他的输入事件,其他的文档已经太多了,我这里使用的cocoStudio的控件自己的特性。这里强烈推荐一下cocoStudio,虽然现在还有不完善的地方,但是我个人感觉做的很不错了。下面是代码,编译的时候请开启c++11.//UI_ModalDialogue_Layer.h#ifndef __UI_MODAL_DIALOGUE_LAYER_H__#define __UI_MODAL_DIALOGUE_LAYER_H__#include "cocos2d.h"#include "cocos-ext.h&quo 阅读全文
摘要:
用$(MY_LIB)是代表你的库的所在目录,目录结构是这样MY_LIB |---include |-----xxx.h |-----xxx.h |---lib |----MYLIB.aLOCAL_C_INCLUDES += $(MY_LIB)/includeLOCAL_LDLIBS :=-L$(MY_LIB)/lib -lMYLIB 阅读全文
摘要:
原文在http://cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d_c++_coding_style,我觉得这个规范非常全面,写的非常好,我只捡一些我认为比较重要的翻译下,有错误的地方请指正,谢谢。cocos2d c++ 代码规范c++代码规范是基于Google c++代码规范的3.260版头文件通常,每个cpp文件应该有个关联的.h文件,当然也有些例外,例如单元测试和小的cpp直接包含在一个main函数里。正确的头文件用法可以在可读性,大小,你代码的效率上产生很大的不同。下面的规则可以引导你越过各种关于头文件的陷阱:头文件守卫宏 (俗称宏卫兵)所有 阅读全文
摘要:
转载自http://www.cnblogs.com/qytan36/archive/2010/06/28/1766555.htmlauto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是RAII,在构造的时候获取资源,在析构的时候释放资源,并进行相关指针操作的重载,使用起来就像普通的指针。std::auto_ptr pa(new ClassA);下面主要分析一下auto_ptr的几个要注意的地方:1,Transfer of Ownershipauto_ptr与boost库中的share_ptr不同的, 阅读全文
摘要:
在windows下用cygwin和eclipse搭建cocos2dx(2.1.4)的android开发环境,2013-8-1更新。一、准备工作需要下载和安装以下内容,请根据自己的操作系统选择x86和x64(我的是64位win7,我就拿64位说事)1、jdk-7u25-windows-x64.exe(下载完后直接安装,一直下一步)http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html2、adt-bundle-windows-x86_64-20130717.zip(下载完直接解压,解压目 阅读全文
摘要:
//将log 保存到当前目录下adb logcat -v time >a.log//log过滤adb logcat | grep MyAppName//清除logadb logcat -c 阅读全文
摘要:
比方你有如下目录,要编译Classes目录和Code目录下所有cppsrc|-android.mk|-Classes |-A.cpp |-B.cpp |-....cpp|-Code |-E.cpp |-F.cpp那你可以这样往android.mk文件里写要编译的源文件SRC_LIST :=$(wildcard $(LOCAL_PATH)/Classes/*.cpp)LOCAL_SRC_FILES += $(SRC_LIST:$(LOCAL_PATH)/%=%)SRC_LIST :=$(wildcard $(LOCAL_PATH)/Code/*.cpp)LOCAL_SRC_F... 阅读全文
摘要:
:w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并退出viq: 不保存文件,退出vi:q! 不保存文件,强制退出vi:e! 放弃所有修改,从上次保存文件开始再编辑 阅读全文
摘要:
前提:要打开eclipse的LogCat窗口1、保存log,先要选中eclipse的LogCat的所有行,点击保存,假设保存到了/User/mac/Desktop/log.txt2、找到你的so(确保你的so是debug版带调试信息的)所在目录,应该是你的android工程/obj/local/armeabi,假设我的是在/User/mac/Desktop/MyProj/proj.android/obj/local/armbi2、打开控制台cd到ndk的安装目录3、敲入命令 ./ndk-stack -sym/User/mac/Desktop/MyProj/proj.android/obj/lo 阅读全文
摘要:
转自:http://www.oschina.net/question/12_115993-- 两个横线是单行注释(译者注:这跟 SQL 一样)--[[ 增加两个 [ 和 ] 变成多行注释 我是多行注释:)--]]------------------------------------------------------ 1. 变量和程序流程控制 Variables and flow control.----------------------------------------------------num = 42 -- 所有的数值都是双精度的-- 别吓一跳,64位的双精度... 阅读全文
摘要:
转载自http://www.lifecrunch.biz/archives/202vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。list就是数据结构中的双向链表(根据sgi stl源代码),因此它的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随即存取变的非常没有效率,因此它没有提供[]操作符的重载。但由于. 阅读全文
摘要:
一、用wubi安装ubuntu的时候自动重新下载1、双击ubuntu.ios让windows加载这个镜像2、断开网络二、安装其他程序时提示Error: Dependencyisnotsatisfiable:libxxxx打开终端敲入 sudoapt-get upgrade,然后狂等。这个能解决绝大多数的这种问题注apt-get upgrade命令是更新软件包三、快速安装拼音输入法1、安装ibus框架(目前最新的ubuntu13.04已经集成了),打开终端敲入sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt42、切 阅读全文
摘要:
//array 1 #include <array> 2 3 void Foo() 4 { 5 array<int,10> a; 6 generate(a.begin(),a.end(),rand); 7 sort(a.begin(),a.end()); 8 9 for (auto n:a)10 {11 cout<<n<<endl;12 }13 cout<<"sizeof(a)="<<sizeof(a)<<endl;14 }//auto 1 #include <vector> 2 阅读全文
摘要:
首先一定要确定你所安装NDK支持c++0x(我安装的android-ndk-r8)文本打开 项目目录/proj.android/jni/Application.mk在APP_CPPFLAGS那一行最后追加上 -std=c++0x,改完之后可能这样APP_CPPFLAGS := -FRTTI -DCOCOS2D_DEBUG=1 -std=c++0xok,在代码里测试下把一下代码加入工程中试试//test.cpp#include <functional> void Test(){ //1 int r = 0; std::function<int(void)>Foo = [& 阅读全文
摘要:
MyClass = { m_N = 0 } function MyClass:create() local o = {} setmetatable( o ,self) self.__index=self return oend function MyClass:SetN(n) self.m_N = nendSubClass = MyClass:create()SubClass.m_B = 30function SubClass:SetN(n) self.m_N = n*2 self.m_B = n*2end local a = MyClass:cre... 阅读全文
摘要:
这篇教程是基于你的工程是cocos2d-x-lua的项目,我假设你已经完全驾驭cocos-x/samples/Lua/HelloLua工程,基本明白lua和c++互调的一些原理。我们的目的是要在lua中使用我们自己定义的类,并且这个类要导出到我们自己的module,意思就是说不是追加到LuaCocos2d.cpp里面,目的是为了使我们的module和coco2d的module完全分离,这样以后更新cocos2d-x版本时,对我们的module没影响。1、先在Classes文件夹下创建一个类Test(新创建的,名字都是都是自己定,你可以随意起,下面不赘述),代码就简单点,例如#ifndef _. 阅读全文
摘要:
当你把proj.android工程导入到eclipse之后:问题1、src文件文件夹打个红叉,打开里面的文件,发现Cocos2dxActivity下面打个红线说明:你没有添加cocos2d-x的java库解决:右键工程->Build Path->Link Source->Browse->选择cocos2d-x目录/cocos2dx/platform/android/java/src->Folder name内随便写个名字叫cocos2dx-java->Finish问题2、Build工程时报 can‘t find NDK_ROOT(大致是这个错)说明:就是你的 阅读全文
摘要:
2014/1/26 更新最近又发现了一个很简单的方法,其实coco2dx已经给我们提供设置loader的方法。注意:有个局限性,在非android平台下调用pEngine->executeScriptFile是不调用loader的,只有require这种才会调用loader。也就是说你直接executeScriptFile("main.lua")这个脚本不能加密,main.lua里面require的才能加密步骤如下:1、实现自己的loader(参考int cocos2dx_lua_loader(lua_State *L))#define CODE_MASK 250ex 阅读全文
摘要:
转载出处:http://blog.csdn.net/zhy_cheng/article/details/8664432使用CCHttprequest联网有两种方法get和post。get和post都可以从服务器获取数据,这两种联网的方法有所不同。下面简单的区分一下1.get提交的时候数据放到URL后面,post放在HTTP协议消息体中。2.get数据量大小有限制,2KB,post理论上没限制。3.get的安全性比post差。 阅读全文
摘要:
//文件列表 ls //文件列表和所有文件信息 ls -al //修改myfilename的文件权限 chmod 777 myfilename //查看文件myfilename的信息 file myfilename //查找以.cpp为结尾的文件 find -name *.cpp //显示myfil 阅读全文
摘要:
前几天一直在搞android平台的编译的问题。google不给我们c++程序员提供一个便捷的开发环境,真是让我痛心疾首。分两部分说,第一部分是生成动态库(.so)的mk文件,另一部分时说module(module是android提供的很有意思并且也很用的一个东西)的mk文件。下面直接拿cocos2d-x里的helloworld当实例,咱一句一句的给你解释,这个文件在proj.android/jni/Android.mk#my-dir由编译系统提供,这句话的目的是把LOCAL_PATH这个宏设置为这个mk文件所在的位置LOCAL_PATH := $(call my-dir)#CLEAR_VARS 阅读全文
摘要:
这里只说用android sdk和android ndk编译生成.so文件,能够编译出.so文件你已经完成了85%的工作,剩下的就是打apk包然后在模拟器或者真机上运行了。一、下载相关包1、android ndk,注意选择好平台,下载链接:http://developer.android.com/tools/sdk/ndk/index.html2、android sdk,下载链接:http://ishare.iask.sina.com.cn/f/15442004.html3、cocos2d-x,这个不多说了,自己去官网下最新版二、设置相关环境1、打开终端2、检查java环境,输入java -v 阅读全文
摘要:
转自http://www.189works.com/article-104164-1.htmlObjective-C最基础语法之Class定义是本文要介绍的内容,Objective-C是面向对象的语言,因此类的定义是基础中的基础。Objective-C是C的超级,但是在语法上跟C又有一些不同,尤其是在对属性和方法的访问上,有其非常特殊的语法。看过Objective-C的代码都知道,里面会有很多的中括号,这是Objective-C独有的。在Objective-C里面一个类的构成一般由两部分组成,一个是成员和方法声明的头文件(.h),一个是类方法实现的文件(.m)文件。当然你也可以把类的声明写在. 阅读全文
摘要:
//头文件Aclass A{ void foo(){}};//头文件Bclass B{ void foo();};void B::foo(){}//头文件Ctemplate<class T>class C{ void foo(); };template<class T>void C<T>::foo(){} 如果有两个文件同时包含头文件A,编译没问题,因为这种写法默认了foo为内联函数。如果有两个文件同时包含头文件B,编译报重复定义的符号,因为这个函数会被链接两次。如果有两个文件同时包含头文件C,编译没问题,因为类模板只有当需要实例化的时候才会被编译链接。如理 阅读全文
摘要:
Arduino今天在KickStarter上看见一个很有意思的项目叫SparkCore,是一个基于Arduino开发。下面就说这个Arduino是个什么玩意。Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduinoIDE)。它是一个基于开放原始码的软硬体平台,构建于开放原始码simpleI/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。简单点说就是一套可以让你随意写单片机程序的软/硬件集合。 它有个很大的优点就是上手容易,烧录简单,写好程序一编译就可以直接烧录到板子上测试了。这个一个非常.. 阅读全文