16 Mar 2014
今天试着把代码升级至3.0,发现之前的CCArray的容器都变了,现在是使用Vector与Map<K,V>,简单用法</p>
cocos2d::Vector sprites;
auto sprite1 = Sprite::create("hello.png");
auto sprite2 = Sprite::create("hello.png");
auto sprite3 = Sprite::create("hello.png");
auto sprite4 = Sprite::create("hello.png");
sprites.push_back(sprite1)
sprites.push_back(sprite2)
sprites.push_back(sprite3)
sprites.push_back(sprite4)
</pre>
@sprites@ 内存管理是由编译器自动处理的,不要使用new来申请堆空间。
cocos2d::Map<std::string, Node> nodes;
auto node1 = Layer::create():
auto node2 = Layer::create():
auto node3 = Layer::create():
auto node4 = Layer::create():
nodes.insert("node_1", node1)
nodes.insert("node_2", node1)
nodes.insert("node_3", node1)
nodes.insert("node_4", node1)
参考:http://cocos2d-x.org/docs/manual/framework/native/data-structure/v3/vector/zh
http://cocos2d-x.org/docs/manual/framework/native/data-structure/v3/map/zh
</section>
15 Mar 2014
今天去参加了CocoaChina 2014 春季开发者大会,上午7点半的时候骑自行车过去了,上午的演讲,主要是了解到了Cocos2d-x的最新动态,作为Cocos2d-x开发者,是很有必要了解的,3.0版本改动的东西确实是多,C++11特性,各种新API等,有时间真的要开始使用3.0了,要不然就跟不上了。
CocoStudio也将要发布2.0版本,这个版本我最喜欢的就是跨平台,实在不想再用回Windows了,期待2.0版本的表现。现在一直是使用CocosBuilder来做场景UI,不过现在已经不更新,等出2.0以后就换。
然后就是还有一个IDE,是基于Eclipse的,支持Lua与JS的断点调试,这个确实不错,现在写Lua是用Sublime Text,还行,不过不支持断点,这个IDE还有一点就是保存后自动重新加载游戏,省去重新部署游戏节省时间。
然后就是有一些新的想法,周末有时间把现在的游戏代码往3.0升级,不过这里肯定会有很多问题,只能是一步一步来了
14 Mar 2014
$ svn checkout http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad-read-only
$ cd google-breakpad-read-only
$ ./configure
$ make
打开google-breakpad-read-only/src/tools/mac/dump_syms/dump_syms.xcodeproj编译dump_syms工具,编译成功后记录下可执行文件的地址。
打开已有的ios工程,把google-breakpad-read-only/src/client/ios/Breakpad.xcodeproj拖进工程,前提是该工程是workspace
在didFinishLaunchingWithOptions方法里加入
[[BreakpadController sharedInstance]start: YES];
在applicationWillTerminate方法时加入
[[BreakpadController sharedInstance]stop];
有几个配置是必须要填的
在Info.plist中加入
BreakpadProduct
BreakpadProductDisplay
BreakpadURL
出异常时会在当前应用的Library/Caches/Breakpad生成xxxxx.dmp文件
使用dump_syms生成sym文件
使用head -n1 xxx.sym查看
创建对应的目录
使用minidump_stackwalk查看错误信息
参考:https://code.google.com/p/google-breakpad/wiki/LinuxStarterGuide
10 Mar 2014
# sudo apt-get install samba samba-common-bin
$ sudo smbpasswd -a pi
$ sudo mkdir /home/shares
$ sudo mkdir /home/shares/public
$ sudo chown -R root:users /home/shares/public
$ sudo chmod -R ug=rwx,o=rx /home/shares/public
$ sudo vim /etc/samba/smb.conf
[public]
comment = Public Storage
path = /home/shares/public
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
$ sudo vim /etc/fstab
/dev/sdxx /home/shares/public/disk1 auto gid=pi,uid=pi,noatime 0 0
$ sudo reboot
10 Mar 2014
坑惨了。。。
Java中回调C/C++方法更新OpenGL的UI时一定不能直接调用或使用runOnUiThread调用,必须使用
// 定义jni接口
native private static void updateOpenGLUI();
Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
@Override
public void run() {
updateOpenGLUI();
}
});