cocos2d-x教程2 精灵

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__


HelloWorldScene.cpp


#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);

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值