收集 quick 使用中一些规范

以下只属于个人规范 只做参考。有不对的地方求喷。

规范1: 不要使用cocos2dx 底层的名字来创建对象(local sprite = CCSprite:create(“xxx.png”))
应该使用local sprite = display.newSprite(“xxx.png”) 或者使用 local sprite = cc.Sprite:create(“xxx.png”)

这样使用的优点:

  1. 升级quick是修改自己项目代码工作量会小很多。(查看quick定义的在framework/cocos2dx/目录下的Global.lua, 和 ObjectBinding.lua)

  2. 编码风格统一便于维护

规范2: 能不用retain() 就不用retain()

优点:具体参见下面链接
http://www.cocoachina.com/bbs/read.php?tid=219086

请问什么时候必须用retain,什么时候可以不用呢?

1、如果创建一个sprite,创建完直接加载到场景,可以不用手动retain。但是如果有的时候需要将一个sprite从场景移除,等某个条件触发时再加到场景上,这样应该需要retain吧? 当然,可以不从场景移除,只是设置visiable=false

2、对于这种变量,比如CCPointArray这种不是加到场景中的类型,每次寻路后为英雄存储一个CCPointArray变量记录路径,这种就需要手动retain了吧?

不知这样的理解是否正确

对于第一点: 你可以通过visiable=false 或者 在你触发时需要加到场景中的时候再创建这个sprite并加到场景中去。
对于第二点:在lua层你可以用table 代替CCPointArray 处理吧。

嗯,肯定有不用retain的变通方法

关于第二点,寻路算法是用c++写的,如果在这两个之间传数据,用CCPointArray比较方便,当然直接用c数组传数据也行。

支持版主,十个字

:2::2::2::2: