CocosX学习实录01
http://www.eoeandroid.com/thread-212558-1-1.html
AppDelegate
cocos2d中对触摸事件做出响应前需要首先把触摸点转化到GL坐标系
AppDelegate有2用:
1)设置贞数,iphone3是60,iphone4+是30.
2)#include "HelloWorldScene.h" 改称你的主程序名,BuildingController.h
CCTMXTiledMap对象
objectGroupNamed获得对象层,CCTMXObjectGroup对象。
layerNamed获得对象层
触摸的写法
location = CCDirector::sharedDirector()->convertToGL(location);
转换坐标
tileCoordForPosition 根据鼠标位置计算单元格坐标
fminf表示取最小值 Math.min(a,b)
fmaxf表示取最大值Math在。msc(a,b)
//取部分的做法
/*
CCRect rect = CCRectZero;
CCRect bounds = CCRectMake(0, 0, 320, 320);
CCSprite* SPbg = CCSprite::create("FloorShow.png",bounds);
*/
下面这些没用
//做法1 不能旋转喔,注册点在左下角,
/*
CCSprite* SPbg = CCSprite::create("FloorShow.png");
SPbg->setAnchorPoint(ccp(0,0));
//SPbg->setRotation(60.0);
this->addChild(SPbg, 0);
*/
用Tile做地图,生成文件tmx,里面的路径,有斜杠,Resources/subArt/ ,会报错。
路径问题
地图有CC类,不用写成下面
/*
int a =6;
int b = 9;
int len=a*b;
for (int i=0; i< len; i++) {
CCSprite* mc = CCSprite::create("Sward128.png");
mc->setAnchorPoint(ccp(0,0));
int x = 110 * (i % a); //50 水平间距,i 增量,a 水平数量
int y = 110 * ((i - i % a) / a); //100 垂直间距
x+=40;
mc->setPosition(ccp(x, y) );
this->addChild(mc, 0);
}*/
地图
CCTMXTiledMap* map = CCTMXTiledMap::CCTMXTiledMap("demo.tmx");
addChild(map, 1, tagTileMap);
map->setPosition(ccp(0, 0));
设置this->setTouchEnabled(true);的位置,是在onENter里
this->setTouchEnabled(true);
不是在init。
float转char的写法
char buffer[100];
//sprintf(buffer, "%d",(int)scale);
/*
char *buffer = (char *)malloc(1024);
sprintf(buffer, "%f",scale);
CCLog("%f",(int)scale*10000);