HelloWorldScene.h
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
class HelloWorld :public cocos2d::CCLayer
{
public:
// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();
// there's no 'id' in cpp, so we recommand to return the exactly class pointer
static cocos2d::CCScene* scene();
CREATE_FUNC(HelloWorld);
void testSprite();
};
#endif // __HELLOWORLD_SCENE_H__
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* HelloWorld::scene()
{
CCScene *scene = CCScene::create();
HelloWorld *layer =HelloWorld::create();
scene->addChild(layer);
return scene;
}
bool HelloWorld::init()
{
//
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
//-------精灵的创建的四种方式
// //图片生成
// CCSprite* spr1 = CCSprite::create("Icon.png");
// spr1->setPosition(ccp(70,150));
// addChild(spr1);
//
// //图片+区域生成
// CCSprite* spr2 = CCSprite::create("Icon.png", CCRectMake(0, 0, 30, 30));
// spr2->setPosition(ccp(150,150));
// addChild(spr2);
//
// //通过祯缓存中的一祯名字生成
// CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("test_icon.plist");
// CCSprite* spr3 =CCSprite::createWithSpriteFrameName("Icon.png");
// spr3->setPosition(ccp(230,150));
// addChild(spr3);
//
//
// //通过另外一祯生成一个生成
// CCSpriteFrame* frame= CCSpriteFrame::create("Icon.png", CCRectMake(0, 0, 40, 30));
// CCSprite* spr4 = CCSprite::createWithSpriteFrame(frame);
// spr4->setPosition(ccp(310,150));
// addChild(spr4);
//---------精灵的基本操作
// //创建
// CCSize size = CCDirector::sharedDirector()->getWinSize();
// CCSprite* sp = CCSprite::create("Icon.png");
// //设置坐标
// sp->setPosition(ccp(size.width/2,200));
// //设置旋转
// //sp->setRotation(-90);
// //设置缩放
// sp->setScale(0.5);
// addChild(sp);
//
//
//
// CCSprite*sp21=CCSprite::create("Icon.png");
// sp21->setPosition(ccp(80,230));
// CCSprite*sp2=CCSprite::create("Icon.png");
// sp2->setPosition(ccp(200,230));
// //设置x轴镜像反转
// //sp2->setFlipX(true);
// //设置y轴镜像反转
// //sp2->setFlipY(true);
// //仅设置缩放X轴
// sp2->setScaleX(2);
// sp2->setScaleY(2);
// addChild(sp2);
// addChild(sp21);
//
//
// CCSprite*sp31=CCSprite::create("Icon.png");
// sp31->setPosition(ccp(160,240));
// CCSprite*sp3=CCSprite::create("Icon.png");
// sp3->setPosition(ccp(160,160));
// //设置半透明
// sp3->setOpacity(127);
// //设置混合色
// sp3->setColor(ccc3(120, 126, 12));
// //设置贴图尺寸大小
// sp3->setTextureRect(CCRectMake(14, 14, 28, 28));
// addChild(sp3);
// addChild(sp31);
//
//
// CCSprite*sp4=CCSprite::create("Icon.png");
// sp4->setPosition(ccp(300,70));
// //设置不可见
// sp4->setVisible(false);
// addChild(sp4);
//-------两种常用层Layer
// //默认黑色
// CCLayer * layer= CCLayer::create();
// layer->setContentSize(CCSizeMake(300, 280));
// addChild(layer);
// //红色
// CCLayerColor * layerColor = CCLayerColor::create(ccc4(255, 0, 0, 255));
// addChild(layerColor);
// layerColor->setContentSize(CCSizeMake(200, 200));
// //蓝色
// CCLayerColor * layerColor2 = CCLayerColor::create(ccc4(0, 0, 255, 255),100,100);
// addChild(layerColor2);
//------CCNode的添加
// CCLayerColor*layer =CCLayerColor::create(ccc4(255, 255, 255, 255), 100, 100);
// layer->setPosition(ccp(40,200));
// CCSprite*sprChild = CCSprite::create("Icon.png");
// sprChild->setPosition(ccp(50, 50));
// layer->addChild(sprChild);
// addChild(layer);
//
// CCSprite* spr = CCSprite::create("Icon.png");
// spr->setPosition(ccp(100,100));
// CCLayerColor* layerChild = CCLayerColor::create(ccc4(255, 0, 0, 255),50,50);
// spr->addChild(layerChild);
// addChild(spr);
//------Tag的作用与使用
// CCSprite* spY = CCSprite::create("Icon.png");
// spY->setPosition(ccp(100,200));
// addChild(spY);
//
//
// CCSprite * spr = CCSprite::create("Icon.png");
// spr->setPosition(ccp(200,200));
// addChild(spr,1,820);
// //addChild(<#cocos2d::CCNode *child#>, <#int zOrder#>, <#int tag#>)
// //spr->setTag(820);
// this->testSprite();
//-------zOrder---
// CCLayerColor *layer = CCLayerColor::create(ccc4(255, 255, 255, 255), 300, 300);
// CCSprite *sprite1 = CCSprite::create("Icon.png");
// sprite1->setPosition(ccp(100,100));
// CCSprite *sprite2 = CCSprite::create("Icon.png");
//
// sprite2->setPosition(ccp(120,120));
// CCSprite *sprite3 = CCSprite::create("Icon.png");
// sprite3->setPosition(ccp(140,140));
// CCSprite *sprite4 = CCSprite::create("Icon.png");
// sprite4->setPosition(ccp(160,160));
// layer->addChild(sprite1, 4);
// layer->addChild(sprite2, 3);
// layer->addChild(sprite3, 2);
// layer->addChild(sprite4, 1);
// addChild(layer);
//-------坐标系
// CCSprite * spr =CCSprite::create("Icon.png");
// spr->setPosition(ccp(100,100));
// addChild(spr);
//
// CCSprite*spr2 = CCSprite::create("Icon.png");
// spr2->setPosition(ccp(200,200));
// addChild(spr2);
//-------锚点
// CCSprite* sp1 = CCSprite::create("Icon.png");
// addChild(sp1);
// sp1->setAnchorPoint(ccp(0,0));
// sp1->setPosition(ccp(sp1->getContentSize().width*0.5,sp1->getContentSize().height*0.5));
// //CCLog("%f %f",sp1->getContentSize().width,sp1->getContentSize().height);
//layer 默认充满屏幕
// CCLayerColor* layer = CCLayerColor::create(ccc4(255, 0, 0, 255));
// addChild(layer);
// CCLOG("%f,%f",sp1->getAnchorPoint().x,sp1->getAnchorPoint().y);
// CCLOG("%f,%f",sp1->getPositionX(),sp1->getPositionY());
// CCLOG("%f,%f",sp1->getContentSize().width,sp1->getContentSize().height);
//
//-------Z轴与遮盖关系
CCSprite* spA1 =CCSprite::create("Icon.png");
spA1->setPosition(ccp(150,200));
addChild(spA1);
//
// CCSprite* spA2 =CCSprite::create("Icon.png");
// spA2->setPosition(ccp(100,200));
// spA2->setScale(2);
// addChild(spA2);
//
//
//
// CCSprite* spB1 =CCSprite::create("Icon.png");
// spB1->setPosition(ccp(380,140));
// addChild(spB1,1);
//
// CCSprite* spB2 =CCSprite::create("Icon.png");
// spB2->setPosition(ccp(330,140));
// spB2->setScale(2);
// addChild(spB2);
return true;
}
//-----Tag的作用与使用
voidHelloWorld::testSprite(){
CCSprite* sp=(CCSprite*)this->getChildByTag(820);
sp->setScale(3);
}