首页 > 代码库 > coco2d学习day01 精灵分析
coco2d学习day01 精灵分析
day01笔记 using namespace cocos2d; == USING_NS_CC; 一般用后面的 #ifndef __MYLAYER_H__ #define __MYLAYER_H__ ---------------一般添加头文件添加宏 : public CCLayer 一般添加一个类继承CCLayer CCLayer::init(); CCLabelTTF *plabel = CCLabelTTF::create("sunda","Arial",36);//定义一个lable addChild(plabel,1);//像scene里面添加一个lable CCSize size =CCDirector::sharedDirector()->getWinSize();//获取当前坐标 plabel->setPosition(ccp(size.width / 2,size.height / 2));//设置lable的在舞台的位置 //添加一个图片image CCMenuItemImage::create("CloseNormal.png","CloseSelected.png",this,menu_selector(mylist::menuCloseCallback)); //第一个参数是显示的图片; //第二个参数是点中的图片; //第三个参数是点击的时候触发第四个参数; CCMenuItemImage *inage = CCMenuItemImage::create("CloseNormal.png","CloseSelected.png",this,menu_selector(mylist::menuCloseCallback)); CCMenu* pMenu = CCMenu::create(inage, NULL); pMenu->setPosition(460,20);//图片的坐标 addChild(pMenu, 1);//显示 //添加一个背景 CCSprite* pSprite = CCSprite::create("HelloWorld.png");//添加一个图片 pSprite->setPosition(ccp(size.width/2 ,size.height/2));//设置图片的位置 addChild(pSprite,0);//显示的呈 return true; setTouchEnabled(true); 支持触摸 如果不写不赞成触摸 setTouchMode(kCCTouchesAllAtOnce); 多点触摸:比如双手按在手机屏幕什么 setTouchMode(kCCTouchesOneByOne); 单点触摸:比如单手按在手机屏幕什么 bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//当你手指刚刚按下是时候 void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//当你手指移动按下是时候 void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//当你手指离开按下是时候 void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//当你电话来的时候 精灵创建 CCSprite* sprite = CCSprite::create("1/furnace/jt.png"); 用图片直接创建 CCSprite* sprite = CCSprite::create("1/furnace/jt.png",CCRectMake(0,0,20,20)); //还是用同一张图片但是就用其中的一部分CCRectMake(x的起点,y的起点,x的终点,y的终点) addChild(sprite); CCSize size = CCDirector::sharedDirector()->getWinSize();//获取舞台的大小 sprite->setPosition(ccp(size.width/2,size.height/2));//把精灵发到的位置 //纹理属性 CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("1/furnace/jt.png"); //创建一个纹理 ,放到纹理缓存里面,并返回缓存对象 CCSprite* sprite = CCSprite::createWithTexture(texture); //相当于把图片发到内存里面,可以使用多次 CCSprite* sprite = CCSprite::createWithTexture(texture,CCRectMake(0,0,20,20)); //还是用同一张图片但是就用其中的一部分CCRectMake(x的起点,y的起点,x的终点,y的终点) CCSpriteFrame* frame = CCSpriteFrame::createWithTexture(texture,CCRectMake(0,0,100,100)); //针就是纹理的一部分 CCSprite* sprite = CCSprite::create("Images/blocks.png"); //创建精灵 图片的地址必须Images/blocks.png addChild(sprite); sprite->setPosition(ccp(100,100));//基点在右下脚,到图片的中心店 //描点属性 sprite->setAnchorPoint(ccp(0,0)); //1、精灵的描点默认是(0.5,0.5) 不是绝对坐标值,而是百分百 //0,0 是右下脚 //1,1 是左下脚 //缩放属性 sprite->setScale(1.5f); //就是把图片 缩放 sprite->setScaleX(0.5f); //X轴 缩放 sprite->setScaleY(0.5f); //Y轴 缩放 //旋转属性 sprite->setRotation(90.f); 整数是顺时钟旋转 负数是逆时针旋转 sprite->setRotationX(90.f); Y轴 旋转90.度是没有了 sprite->setRotationY(90.f); Y轴 旋转90.度是没有了 //扭曲属性 sprite->setSkewX(60.0f); X轴 扭曲60度 但是扭曲到90度就没有 sprite->setSkewY(60.0f); Y轴 扭曲60度 但是扭曲到90度就没有 旋转和扭曲的区别 旋转到180度 和扭曲到180度 旋转会变化,但是扭曲不会 //翻转 sprite->setFlipX(true); 是x轴 翻转 sprite->setFlipY(true); 是Y轴 翻转 //透明 sprite->setOpacity(1); 区间在0到255之间 0是全透明,255是不透明 //颜色 sprite->setColor(ccc3(255,0,0)); //ccc3(255,0,0),里面的参数是RGB 红、黄、绿 //可见属性 sprite->setVisible(false); //false 为不可见属性 //ture 可见属性 //针属性 sprite->setDisplayFrame(...); //user data 属性 拓展cocos系统用 char * buf= "helloword"; sprite->setUserData(buf); char *p=(char *)sprite->getUserData(); CCLOG("user data is %s",p); // 设置关联的对象 sprite->setUserObject(sprite);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。