Posts

【cocos2d-x 3D实战】开发一款体素游戏--1. 准备工作

31 Oct 2016

本系列文章记录下使用cocos2d-x开发一款体素风游戏的过程,遇到的问题,解决办法及收获。使用了cocos2d-x的3D功能,以下简称c3d

前言

最近cocos官网推荐了一款使用cocos2d-x开发的3D游戏,叫《Steps》(信步),是一个乌克兰小伙的作品,是一款休闲小游戏,正是类似MineCraft那种体素(voxel)风格的,看起来效果还不错,于是自己也打算尝试搞一个这样的游戏玩玩。 本文是使用c3d开发一款体素风游戏系列的第一篇,记录了开发环境的配置和界面编辑器的选择和实验。

1. 新建cocos工程

使用cocos命令行工具创建即可,建议使用lua类型,因为对3D效果的调试可能要频繁修改UI部分要频繁重启游戏。

2. 模型创建和导出

使用MagicaVoxel创建出一个3D小汽车,如下图所示: magicavoxel.png MagicaVoxel比较容易上手, 画刷工具有六种,
  • L 画线
  • C 圆
  • P
  • V 自由矢量
  • F 面
  • B 方块
画刷操作类型有四种: ...

阅读全文 ...


【cocos2d-x 学习与应用总结】使用vim编写cocos2d-x c++代码,自动补全

25 Oct 2016

前言

遇到的问题:
  1. 新添加或者Classes目录下的cpp文件没有生成compile json补全信息
每个CMakeList脚本都要添加compile commands 选项
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
...

阅读全文 ...


【cocos2d-x 学习与应用总结】mac上搭建cocos2d-x lua开发环境(编辑器+调试器)基于cocos2d-x 3.10

24 Oct 2016

前言

本文记录了为最新版本的cocos2d-x lua在mac上搭建开发环境的过程。 ...

阅读全文 ...


How do you judge an experienced C programmer by only five questions?

18 Oct 2016

Given the following declaration: int foo[10]; What is the difference between: foo and: &foo and: &foo[0] ? Hint: two of them are identical, the other is very different, but if you print them: printf(“%p, %p, %p\n”, foo, &foo, &foo[0]); they’ll all print the same value. ...

阅读全文 ...


【转】解ACM题的能力真的代表编程能力吗?

18 Oct 2016

解ACM题的能力真的代表编程能力吗?

这是我早期的一篇讲ACM能力和编程能力的文章, 希望能给你提供一些启发.
一、能
  1. OI 和 ICPC 竞赛需要的知识和思维方式,是一个有效的智商、问题分析等逻辑能力筛选器,也是成本最低的一种选拔方式。具备非常强的解题能力,但是实际工作中交付能力差,解决问题差的概率非常低,在我有限的工作经验中,还没有碰到过。OIer或者 ACMer 背景的小伙伴理解和逻辑能力一流,交流非常愉快,你几乎不用担心你的问题太复杂对方听不懂。
  2. 竞赛中分析问题的能力也是非常有价值的。比如如何把一个问题归约到另外一个问题来简化设计,比如一个分支非常多的业务流可以设计为一个DFA(有限状态机)。另外竞赛者往往对问题的边界、特例更加敏感,因为这也是竞赛需要的一项基本能力,而这些边界特例处理不当,可能导致系统崩溃。还有 debug 能力,比如如何排除影响验证定位问题,这些也是竞赛中需要的基本能力。
  3. 优秀的竞赛者数据结构和算法基础更扎实,coding 实现能力更强。关于数据结构和算法是否有用,我这里不讨论了,知乎有太多相关的帖子了。我只说一句,「不是数据结构和算法无用,而是你没用」。这里讲 coding 能力,我碰到过不少大学生,给一个算法描述,他能用笔模拟出运转的过程,但是一用代码(包括伪代码)描述,就漏洞百出。而对于 ACMer 来说,如果有清晰的解决方案,实现往往都不是问题。许多人认为,大多数人通过训练,就能获得这种能力,我对此持否定意见。一次性写出bug-free的代码,除了熟能生巧,还和人的思维、习惯等等有非常紧密的关系。
  4. 其实这点和1相似,就是快速学习的能力。多数情况下,由于优秀的竞赛者具备更扎实的知识储备,更强的逻辑和分析能力,学习新知识的能力更强。归纳或者归约分析的能力更强,他们更容易从新旧技术(知识)中找到共同点把知识体系统一起来。
二、不能 ...

阅读全文 ...