环境:cocos2d-iphone 1.0.0 ,Xcode4, Target: ios4.3
1. 坐标系
http://www.cnblogs.com/cppguru/archive/2011/05/10/2041835.html
课后知识:找本3d数学基础看看,爱因斯坦的相对论是广泛应用各个角落。
2. 用网上教程改Layer颜色(背景颜色)不生效?
Reproduce: 用box2d模板创建项目-->让类继承CCLayerColor-->初始化时用[super initwithColor:xxxx]--->运行
这时发现背景颜色为啥没变?
原因:draw函数是被模板overridden了的,它没有使用[super draw],所以你的设置不会生效
课后知识:CCNode,CCSprite自身有哪些function,他们分别是干什么的,哪些可能会被override(即根据我们需要会修改)
3. 如何运行?运行SpriteTest出错?
cocos2d对它的demo是没有完整详细说明的(免费软件我们能说什么,没收你费不错了,如果想有,那就自己贡献吧)
tests/SpriteTest需要source/image与sources/image/animation下的内容,只是把SpriteTest放进你的project是不够的,你得一个个确认它需要哪些png或pvr。否则少一个它都会报错。
tests/SpriteTest中有一个function是有错的,没有把sprite加进layer,你在看时会发现没有图像。抱歉,我改完后忘记是哪一个了,好像是前几个。
SpriteTest中有些是测试父对象与子对象关系的(Anchor,children,grandchildren,childrenchildren),但是图像上面又不好区分,为了更好理解,最好是利用Sprite.color设置父对象的颜色方便我们对比。
为了能让Object-c搜索到animation\* 所有文件,你不可以再添加animation时用create group的方式,而是create reference,否则它搜索不到这个目录。
课后知识:Bundle,resources,plist文件
4. AncherPoint与Position的作用。
参考:http://www.cnblogs.com/justinwong/archive/2011/06/09/2076793.html
简单说,AnchorPoint其实就是Sprite本地坐标系坐标原点,叫Origin可能更好点,与父一级对象的左下角重合。默认AnchorPoint在(0.5f,0.5f)即中心位置,想像一下你有N级父子关系 , Screen->Layer->Map->MapLayer1->tile,每一个子sprite都是中心放在父sprite的左下角,最后他们画出来是啥样??
缩放,旋转,移动都是作用在它身上。position是AnchorPoint的在父一级的位置,比如(100,100)就是说,以父一级左下角为坐标原点,把AnchorPoint移动到向量(100,100)的终点。