摘要: cocos2dx的计时器很好用,但当app进入后台,其计时器会pause掉,如果想要一个稳恒计时器就得自己去实现完成了,在Cocos2d-x for ios中我们可以利用NSTimer类并结合objc++来实现,非常好用。在Android平台我们就不得不用java类和jni来实现,计时器很多时候是用来刷新UI,所以还得考虑opengl线程调用问题下面我贴了一个用java线程来实现的类,这个是项目正在使用的部分代码。一个是秒计时器,用于倒计时使用;一种是毫秒计时器,取网络数据包时使用package com.iGamer;import org.cocos2dx.lib.Cocos2dxActivi 阅读全文
posted @ 2013-09-12 17:15 haroel 阅读(2302) 评论(0) 推荐(0) 编辑
摘要: 前面博客说到,cocos2d-x c++界面层运行在一个GLThread线程里面,严格的说是运行在Cocos2dxGLSurfaceView(继承自GLSurfaceView)里面。opengl的渲染,刷新都是有这个类来完成。 所以我们不能直接在java方法里调用c++方法来刷新界面,唯一的方法就是绕开javaUI主线程,让GLSurfaceView来做这件工作。ok,前面说到Cocos2dxGLSurfaceView 类,它是cocos2d-x引擎的一部分,直接修改该类太粗暴。所以以下新建一个ClassTimerJavaToC.java 以下只写核心方法import org.cocos2dx 阅读全文
posted @ 2013-09-12 17:07 haroel 阅读(2375) 评论(2) 推荐(0) 编辑
摘要: ios7后mac地址沦为鸡肋,所以必须得重新想办法获取设备的id信息,apple推荐用UUID,但app重新安装后,UUID需要重设,所以想到把UUID存储到ios系统的keychain中,既然存储在系统内,也就意味着即使app被删除也不会丢失该属性。//ios获取uuid#import "KeychainItemWrapper.h" KeychainItemWrapper *keychainItem = [[KeychainItemWrapperalloc] initWithIdentifier:@"UUID" ... 阅读全文
posted @ 2013-09-12 11:48 haroel 阅读(3070) 评论(0) 推荐(0) 编辑