コード例 #1
0
ファイル: CCTextureCache.cpp プロジェクト: issamux/WebGame
CCTexture2D* CCTextureCache::addPVRTCImage(const char* path, int bpp, bool hasAlpha, int width)
{
	
	CCAssert(path != NULL, "TextureCache: fileimage MUST not be nill");
	CCAssert( bpp==2 || bpp==4, "TextureCache: bpp must be either 2 or 4");

	CCTexture2D * texture;
	std::string temp(path);
	if ( (texture = m_pTextures->objectForKey(temp)) )
	{
		return texture;
	}
	
	// Split up directory and filename
	std::string fullpath( CCFileUtils::fullPathFromRelativePath(path) );

	CCData * data = CCData::dataWithContentsOfFile(fullpath);
	texture = new CCTexture2D();
	texture->initWithPVRTCData(data->bytes(), 0, bpp, hasAlpha, width);
	if( texture )
	{
		m_pTextures->setObject(texture, temp);
		texture->autorelease();
	}
	else
	{
		CCLOG("cocos2d: Couldn't add PVRTCImage:%s in CCTextureCache",path);
	}
	CC_SAFE_DELETE(data);

	return texture;
}
コード例 #2
0
ファイル: ToyLayer.cpp プロジェクト: Whislly/DreamBookToolbox
ToyBrick* ToyLayer::CreateBrick_Circle()
{
		int num = CommonHelper::GetRandomNum(1, 30);

		//image && texture
		char path[255];
		sprintf(path, "Images/ToyBrick/Circle/%d.png", num);

		CCImage *img = new CCImage();
		img->autorelease();
		if (!img->initWithImageFile(path, cocos2d::CCImage::kFmtPng))
		{
				return NULL;
		}

		CCTexture2D *texture = new CCTexture2D();
		texture->autorelease();
		if (!texture->initWithImage(img))
		{
				return NULL;
		}

		//
		ToyBrick *brick = ToyBrick::create();
		CCSize size = texture->getContentSize();
		brick->Init(texture, CCRectMake(0, 0, size.width, size.height));
		brick->SetAsCircle(64);

		return brick;
}
コード例 #3
0
ファイル: CCTextureCache.cpp プロジェクト: issamux/WebGame
CCTexture2D * CCTextureCache::addPVRTCImage(const char* fileimage)
{
	CCAssert(fileimage != NULL, "TextureCache: fileimage MUST not be nill");

	CCTexture2D * texture;
	std::string key(fileimage);
	if( (texture = m_pTextures->objectForKey(key)) ) 
	{
		return texture;
	}

	texture = new CCTexture2D();
	texture = texture->initWithPVRTCFile(fileimage);
	if( texture )
	{
		m_pTextures-> setObject( texture, key);
		texture->autorelease();
	}
	else
	{
		CCLOG("cocos2d: Couldn't add PVRTCImage:%s in CCTextureCache",fileimage);
	}

	return texture;
}
コード例 #4
0
ファイル: main.cpp プロジェクト: JongKul/Infinity
JNIEXPORT void JNICALL Java_game_mobile_infinity_FacebookManager_jniCallbackPicture(JNIEnv*  env, jobject thiz, jstring jid , jbyteArray  jimage)
{

	const char *id = env->GetStringUTFChars(  jid, 0);

	CCString* cfbID = CCString::createWithFormat("%s",id);

	int len  = env->GetArrayLength(jimage);
	char* byteData = (char*)malloc(len);
	env->GetByteArrayRegion(jimage,0,len,(jbyte*)byteData);


	CCImage* imf = new CCImage();
	imf->initWithImageData(byteData,len);
	imf->autorelease();

	CCTexture2D* pTexture = new CCTexture2D();
	pTexture->initWithImage(imf);
	pTexture->autorelease();

	CCSprite *sprit = CCSprite::createWithTexture(pTexture);
	Facebook_Manager::sharedInstance()->Callback_Picture(cfbID, sprit);


	env->ReleaseStringUTFChars(  jid, id);

}
コード例 #5
0
ファイル: bitmap.cpp プロジェクト: cjv123/RPGR
int Bitmap::handler_method_create_sprite(int bitmap_instance ,void* image)
{
	Bitmap* bitmap = (Bitmap*)bitmap_instance;
	CCSprite* sp = NULL;
	CCImage* ccimage = (CCImage*)image;
	if (image)
	{
		CCTexture2D* texture = new CCTexture2D;
		texture->autorelease();
		texture->initWithImage(ccimage);
		sp = CCSprite::createWithTexture(texture);
		
		CCAssert(sp,"f**k! image file error!");

		bitmap->p->m_width = sp->getContentSize().width;
		bitmap->p->m_height = sp->getContentSize().height;
	}
	else
	{
		sp = CCSprite::create();
		sp->setContentSize(CCSizeMake(bitmap->p->m_width,bitmap->p->m_height));
	}
	//sp->getTexture()->setAliasTexParameters();
	sp->retain();
	bitmap->p->m_emuBitmap = sp;
	
	delete ccimage;
	return 0;
}
コード例 #6
0
ToyBrick* DancingBoneLayer::CreateArm()
{
	//image && texture
	char path[255];
	sprintf(path, "Images/DancingBone/arm.png");

	CCImage *img = new CCImage();
	img->autorelease();
	if (!img->initWithImageFile(path, CCImage::kFmtPng))
	{
		return NULL;
	}

	CCTexture2D *texture = new CCTexture2D();
	texture->autorelease();
	if (!texture->initWithImage(img))
	{
		return NULL;
	}

	//
	ToyBrick *brick = ToyBrick::create();
	CCSize size = texture->getContentSize();
	brick->Init(texture, CCRectMake(0, 0, size.width, size.height));

	//vector (24, 102)
	CCPointArray *vector = CCPointArray::create(4);
	vector->addControlPoint(ccp(-12, -50));
	vector->addControlPoint(ccp(12, -50));
	vector->addControlPoint(ccp(12, 50));
	vector->addControlPoint(ccp(-12, 50));
	brick->SetAsPolygon(vector);

	return brick;
}
コード例 #7
0
ファイル: util.cpp プロジェクト: jieyaozu/FightingSolarSystem
CCTexture2D* Util::getGrayTexture(const char* filename){
		typedef enum {  
			RED = 0,  
			GREEN = 1,  
			BLUE = 2,  
			ALPHA = 3  
		} PIXELS;  
		CCImage *image = new CCImage();
		image->initWithImageFile(filename);
		unsigned char* pixels = image->getData();
		int len = image->getDataLen();
		uint32_t *p = (uint32_t *)pixels;
		for(int i=0;i<len;i++){
			uint8_t *rgbaPixel = (uint8_t *) &p[i];
			//uint32_t gray = 0.3 * rgbaPixel[RED] + 0.59 * rgbaPixel[GREEN] + 0.11 * rgbaPixel[BLUE];
			uint32_t gray = 1.2*rgbaPixel[RED] + 1.0*rgbaPixel[GREEN] + 0.0*rgbaPixel[BLUE];
			// set the pixels to gray  
			rgbaPixel[RED] = gray;  
			rgbaPixel[GREEN] = gray;  
			rgbaPixel[BLUE] = gray;  
		} 

		CCTexture2D* texture = new CCTexture2D();  
		texture->autorelease();
		texture->initWithImage(image);
		image->release();

		return texture;
}
コード例 #8
0
ファイル: XieziLayer.cpp プロジェクト: echenonline/Blackcat
CCSprite* XieziLayer::generateSnapshot(){
    
    CCSize mainSize=S_RM->getSizeWithName("xiezi_webview_size");
    CCPoint mainPoint=S_RM->getPositionWithName("xiezi_main");
    
    CCSprite* snapshot=(CCSprite*)this->getChildByTag(kTagSnapshot);
    
    const char* data=m_webView->callWebWithJs("getCanvasBase64Data()");
    int length=(int)strlen(data);
    
    if(length>0){
        
        string pngData=StringUtils::base64Decode(data, (int)strlen(data));
        CCImage* img=new CCImage();
        img->autorelease();
        img->initWithImageData(const_cast<char*>(pngData.c_str()), (int)pngData.length());
        CCTexture2D *texture = new CCTexture2D();
        texture->initWithImage(img);
        texture->autorelease();
        
        if (snapshot) {
            snapshot->setTexture(texture);
        }else{
            snapshot= CCSprite::createWithTexture(texture);
            snapshot->setPosition(mainPoint);
            snapshot->setTag(kTagSnapshot);
            
            if (mainSize.width!=snapshot->getContentSize().width) {
                snapshot->setScale(mainSize.width/snapshot->getContentSize().width);
            }
            this->addChild(snapshot);
        }
        
    }else{
        if (!snapshot) {
            snapshot=CCSprite::createWithSpriteFrameName("tianzige.png");
            snapshot->setPosition(mainPoint);
            
            CCLabelTTF* label=CCLabelTTF::create(m_hanzi->getzi().c_str(), "KaiTi.ttf", 400.0);
            label->setColor(ccc3(100,53,14));
            label->setPosition(ccp(mainSize.width/2, mainSize.height/2));
            snapshot->addChild(label);
            
            snapshot->setTag(kTagSnapshot);
            
            this->addChild(snapshot);
        }
    }
    
    return snapshot;
}
コード例 #9
0
bool DefaultLayer::init()
{
    if (!CCLayer::init())
        return false;

    // ask director the window size
    CCSize window_size = CCDirector::sharedDirector()->getWinSize();

	CCImage* temp_img = new CCImage();
	temp_img->initWithImageFile("atlas.png");

	CCTexture2D* texture = new CCTexture2D();
	texture->initWithImage(temp_img);
	texture->autorelease();
	delete temp_img;

	// this will have a capacity for 4 sprites instead of the default which is 20
	CCSpriteBatchNode* batch = CCSpriteBatchNode::createWithTexture(texture, 4);

	// Since I don't have HD versions of the image but I've set enableRetinaDisplay to true, the framework
	// is using a scaling factor of 2 to divide the image by. This is because it thinks the image was from the low resolution
	// version, which would mean that running in retina (i.e. 2x larger screen) should make the image look half as big. By calling
	// getContentSize over getContentSizeInPixels I'm getting the size of the image as it is represented for the appropriate
	// draw mode. If I actually had HD art, I believe I could just call getContentSizeInPixels and that they'd both be the same.
	CCSize tex_size(texture->getContentSize());

	for (int i = 0; i < 4; i++)
	{
		CCSprite* sprite = CCSprite::create();

		// The texture rect coords are luckily normal and just like a Photoshop canvas
		CCRect r((i % 2) == 0 ? 0 : tex_size.width / 2.0f, (i / 2) == 0 ? 0 : tex_size.height / 2.0f, tex_size.width/2.0f, tex_size.height/2.0f);

		sprite->initWithTexture(texture, r);
		sprite->setPosition(ccp(sprite->getContentSize().width / 2.0f + (i % 2)*200, sprite->getContentSize().height + (i/2)*150));
		batch->addChild(sprite);
	}

	addChild(batch);

    return true;
}
コード例 #10
0
ファイル: ToyLayer.cpp プロジェクト: Whislly/DreamBookToolbox
ToyBrick* ToyLayer::CreateBrick_Rectangle()
{
		int num = CommonHelper::GetRandomNum(1, 20);

		//image && texture
		char path[255];
		sprintf(path, "Images/ToyBrick/Rectangle/%d.png", num);

		CCImage *img = new CCImage();
		img->autorelease();
		if (!img->initWithImageFile(path, cocos2d::CCImage::kFmtPng))
		{
				return NULL;
		}

		CCTexture2D *texture = new CCTexture2D();
		texture->autorelease();
		if (!texture->initWithImage(img))
		{
				return NULL;
		}


		//
		ToyBrick *brick = ToyBrick::create();
		CCSize size = texture->getContentSize();
		brick->Init(texture, CCRectMake(0, 0, size.width, size.height));
		
		//vector
		CCPointArray *vector = CCPointArray::create(4);
		vector->addControlPoint(ccp(-52, -52));
		vector->addControlPoint(ccp(52, -52));
		vector->addControlPoint(ccp(52, 52));
		vector->addControlPoint(ccp(-52, 52));
		brick->SetAsPolygon(vector);

		return brick;
}
コード例 #11
0
ファイル: CCTextureCache.cpp プロジェクト: issamux/WebGame
/* @todo CGImageRef
-(CCTexture2D*) addCGImage: (CGImageRef) imageref forKey: (string & )key
{
	CCAssert(imageref != nil, @"TextureCache: image MUST not be nill");

	CCTexture2D * tex = nil;

	// If key is nil, then create a new texture each time
	if( key && (tex=[textures objectForKey: key] ) ) {
		return tex;
	}

	// prevents overloading the autorelease pool
	UIImage *image = [[UIImage alloc] initWithCGImage:imageref];
	tex = [[CCTexture2D alloc] initWithImage: image];
	[image release];

	if(tex && key)
		[textures setObject: tex forKey:key];
	else
		CCLOG(@"cocos2d: Couldn't add CGImage in CCTextureCache");

	return [tex autorelease];
}*/
CCTexture2D* CCTextureCache::addUIImage(CCImage *image, const char *key)
{
	CCAssert(image != NULL && key != NULL, "TextureCache: image MUST not be nill");

	CCTexture2D * texture = NULL;
	std::string forKey = key;

	m_pDictLock->lock();

	do 
	{
		// If key is nil, then create a new texture each time
		if(texture = m_pTextures->objectForKey(forKey))
		{
			break;
		}

		// prevents overloading the autorelease pool
		texture = new CCTexture2D();
		texture->initWithImage(image);

		if(texture)
		{
			m_pTextures->setObject(texture, forKey);
			texture->autorelease();
		}
		else
		{
			CCLOG("cocos2d: Couldn't add UIImage in CCTextureCache");
		}

	} while (0);
	
	m_pDictLock->unlock();

	return texture;
}
コード例 #12
0
ファイル: util.cpp プロジェクト: jieyaozu/FightingSolarSystem
CCTexture2D* Util::getGrayTexture(CCTexture2D* texture){
		typedef enum {  
			RED = 0,  
			GREEN = 1,  
			BLUE = 2,  
			ALPHA = 3  
		} PIXELS;  
		CCSize textSize = texture->getContentSize();
		CCSprite *temporarySprite = CCSprite::createWithTexture(texture);
		//就这么一小句搞了我半天了,不过能出来也值了
		temporarySprite->setAnchorPoint(ccp(0,0));
		CCRenderTexture *rt = CCRenderTexture::create(textSize.width, textSize.height);
		rt->begin();
		temporarySprite->visit();
		rt->end();
		
		CCImage *image = rt->newCCImage();
		unsigned char* pixels = image->getData();
		int len = image->getDataLen();
		uint32_t *p = (uint32_t *)pixels;
		for(int i=0;i<len;i++){
			uint8_t *rgbaPixel = (uint8_t *) &p[i];
			//uint32_t gray = 0.3 * rgbaPixel[RED] + 0.59 * rgbaPixel[GREEN] + 0.11 * rgbaPixel[BLUE];
			uint32_t gray = 1.2*rgbaPixel[RED] + 1.0*rgbaPixel[GREEN] + 0.0*rgbaPixel[BLUE];
			// set the pixels to gray  
			rgbaPixel[RED] = gray;  
			rgbaPixel[GREEN] = gray;  
			rgbaPixel[BLUE] = gray;  
		}
		CCTexture2D* newtexture = new CCTexture2D();  
		newtexture->autorelease();
		newtexture->initWithImage(image);

		image->release();
		return newtexture;
}
コード例 #13
0
void SGCGMovieLayer::constructView()
{
    SGNotificationCenter::sharedNotificationCenter()->addObserver(MSG_CGBATTLE_START, this, callfuncO_selector(SGCGMovieLayer::cgBattleListener));
       s = CCDirector::sharedDirector()->getWinSize();
    
    ResourceManager::sharedInstance()->bindTexture("bg/cgBg.plist", RES_TYPE_LAYER_UI, sg_cgMovieLayer);

    CCSprite *cgBg = CCSprite::createWithSpriteFrameName("cgBg.png");
    cgBg->setAnchorPoint(ccp(0.5, 1));
    cgBg->ignoreAnchorPointForPosition(false);
    cgBg->cocos2d::CCNode::setScaleX(s.width/cgBg->getContentSize().width);
    cgBg->setPosition(ccp(s.width/2, s.height));
    addChild(cgBg);
    
//    SGButton *skipBt = SGButton::createFromLocal("box_btnbg.png", "跳 过", this, menu_selector(SGCGMovieLayer::cgSkipToBattle), CCPointZero, FONT_PANGWA,ccWHITE,32,false,true);
//    skipBt->setPosition(ccp(s.width/2, skipBt->getContentSize().height*2));
//    addBtn(skipBt);
    
    CCLayerColor * blackBg = CCLayerColor::create(ccc4(0, 0, 0, 255), s.width, s.height);
    blackBg->setTouchEnabled(false);
    blackBg->ignoreAnchorPointForPosition(false);
    blackBg->setAnchorPoint(ccp(0, 0));
    blackBg->setPosition(ccp(0, 0));
    this->addChild(blackBg, -100);
    
    scrollRect = CCRectMake(0, s.height*0.2, s.width, s.height/4);
    cgScrollView = SNSScrollView::create(scrollRect);
    cgScrollView->setFrame(scrollRect);
    cgScrollView->setPosition(scrollRect.origin);
    cgScrollView->setHorizontal(false);
    cgScrollView->setVertical(true);
    cgScrollView->setTouchEnabled(false);
    this->addChild(cgScrollView);
    
//    CCSprite *scrollBg = CCSprite::createWithSpriteFrameName("barrack_kuang.png");
//    scrollBg->cocos2d::CCNode::setScale(s.width/scrollBg->getContentSize().width, s.height/4/scrollBg->getContentSize().height);
//    scrollBg->setPosition(ccpAdd(scrollRect.origin, ccp(s.width/2, s.height/8)));
//    addChild(scrollBg);
    
    char *spritData = new char[(int)s.width * (int)s.height *4];
    memset(spritData,0,(int)s.width * (int)s.height *4);
    int spriteDataSize = (int)s.width * (int)s.height*4;
    for (int j=0; j<spriteDataSize; j+=4) {
        spritData[j] = 0;
        spritData[j+1] = 0;
        spritData[j+2] = 0;
        spritData[j+3] = 255;
    }
    
    CCTexture2D *pTexture = new CCTexture2D();
    pTexture->initWithData(spritData, kCCTexture2DPixelFormat_Default, (int)s.width, (int)s.height, s);
    
    finaleSprite = CCSprite::createWithTexture(pTexture);
    finaleSprite->setPosition(CCPointZero);
    finaleSprite->setAnchorPoint(CCPointZero);
    this->addChild(finaleSprite,10,10);
    finaleSprite->setVisible(false);
    finaleSprite->setOpacity(0);
    
    delete [] spritData;
    pTexture->autorelease();
    
    
    this->setTouchEnabled(true);
    
    const char *str[7] = { str_CGMovieLayer_str1,
                         str_CGMovieLayer_str2,
                        str_CGMovieLayer_str3,
                         str_CGMovieLayer_str4,
                        str_CGMovieLayer_str5,
                          str_CGMovieLayer_str6,
                         str_CGMovieLayer_str7};
    
    SGCCLabelTTF *cgMsg = NULL;
    posY =  -20;
    for (int i=0; i<7; i++) {
        cgMsg =  SGCCLabelTTF::create(str[i], FONT_BOXINFO, 34);
        cgMsg->cocos2d::CCNode::setPosition(s.width/2, posY);
        cgScrollView->m_body->addChild(cgMsg);
        posY -= 50;
    }
    moveCgMsgDis = CGMSGMOVEDIS;
    unschedule(schedule_selector(SGCGMovieLayer::moveCgMsgUp));
    if (SGPlayerInfo::sharePlayerInfo()->getCDKeyNeed()==1) {
        
        SGNotificationCenter::sharedNotificationCenter()->addObserver(MSG_CDK, this, callfuncO_selector(SGCGMovieLayer::cdkListener));
        
        ResourceManager::sharedInstance()->bindTexture("sgloginingbox/sgloginingbox.plist", RES_TYPE_LAYER_UI, sg_cgMovieLayer);
//         ResourceManager::sharedInstance()->bindTexture("sgserverlistlayer/sgserverlistlayer.plist",RES_TYPE_LAYER_UI ,sg_registerLayer);
        
        
        box = CCSprite::createWithSpriteFrameName("register_diban.png");
        box->setPosition(SGLayout::getPoint(kMiddleCenter));
        this->addChild(box);

        m_cdk = CCEditBox::create(CCSizeMake(500, 60), CCScale9Sprite::createWithSpriteFrameName("public_kuang_input.png"));
        m_cdk->setPlaceHolder(str_CGMovieLayer_str8);
        m_cdk->setPlaceholderFontColor(ccc3(0x82,0x3e,0x02));
        m_cdk->setMaxLength(10);
        m_cdk->setReturnType(kKeyboardReturnTypeDone);
        m_cdk->setInputMode(kEditBoxInputModeSingleLine);
        m_cdk->setPosition(ccp(box->getContentSize().width*.5,box->getContentSize().height*.48));
//        m_cdk->setDelegate(this);
        box->addChild(m_cdk);
   
        
        
        title = CCSprite::createWithSpriteFrameName("gameactive.png");
        title->setPosition(ccp(box->getContentSize().width*.5,box->getContentSize().height*.8));
        box->addChild(title);
        //确定
        btn = SGButton::create("box_btnbg.png", "public_font_queding.png", this, menu_selector(SGCGMovieLayer::btnclick),CCPointZero,false,true);
        this->addBtn(btn);
        btn->setPosition(ccpAdd(box->getPosition(),ccp(-140,-btn->getContentSize().height*2.5)));
        //取消
        btn2 = SGButton::create("box_btnbg.png", "public_font_quxiao.png", this, menu_selector(SGCGMovieLayer::btnclickcancel),CCPointZero,false,true);
        this->addBtn(btn2);
        btn2->setPosition(ccpAdd(box->getPosition(),ccp(140,-btn->getContentSize().height*2.5)));

        
    }
    else
    {
    schedule(schedule_selector(SGCGMovieLayer::moveCgMsgUp), CGMSGMOVEGAP);
    }
}
コード例 #14
0
ファイル: MRemoteSprite.cpp プロジェクト: xu561865/demo_2
void MRemoteSprite::setLocalSrc(std::string srcLocalPath)
{
    srcLocalPath = MFileDownloader::getLocalFilePath(srcLocalPath);
 
    if (_sprite != nullptr)
    {
        _sprite->removeFromParent();
        _sprite = nullptr;
    }
    
    CCImage *image = nullptr;
    if (isSpecialSrc(srcLocalPath))
    {
        image = get_special_ccimage(srcLocalPath, getOpacitySrc(srcLocalPath));
    }
    else if (isSpecialSrcSmall(srcLocalPath))
    {
        image = get_special_ccimage(srcLocalPath, getOpacitySrcSmall(srcLocalPath));
    }
    else
    {
        image = get_ccimage(srcLocalPath);
    }
    
    if (image == nullptr)
    {
        M_DEBUG( "!!! get image failed, file >> " << srcLocalPath );
        this->dispatchEvent(EVENT_CARD_DOWNLOAD_OK);
        return ;
    }
    
    CCTexture2D *texture = nullptr;
    if (isGray())
    {
        texture = mlib::create_gray_texture(image);
    }
    else
    {
        texture = new CCTexture2D();
        texture->autorelease();
        
        if( texture &&
           texture->initWithImage(image) )
        {
        }
    }
    
    if (texture != nullptr)
    {
        if (sizeShow().equals(CCSizeZero))
        {
            _sprite = MSprite::createWithTexture(texture);
        }
        else
        {
            CCSize cSize = texture->getContentSize();
            _sprite = MSprite::createWithTexture(texture, CCRectMake((cSize.width - sizeShow().width) / 2, (cSize.height - sizeShow().height) / 2, sizeShow().width, sizeShow().height));
        }
    }
    
    if (_sprite != nullptr)
    {
        if (alignment() == RemoteSpritAlignmentBottom)
        {
            _sprite->setAnchorPoint(ccp(0.5, 0));
            _sprite->setPosition(ccp(getContentSize().width/2, 0));
        }
        else    // default alignment: center
        {
            _sprite->setAnchorPoint(ccp(0.5, 0.5));
            _sprite->setPosition(ccp(getContentSize().width/2, getContentSize().height/2));
        }
        
        _sprite->setColor(_color);
        _sprite->setOpacity(_opacity);
        this->addChild(_sprite);
        _srcPath = srcLocalPath;
    }
    _isGrayChange = false;
    this->dispatchEvent(EVENT_CARD_DOWNLOAD_OK);
}
コード例 #15
0
KDbool CCSpriteBatchNode::init ( KDvoid )
{
    CCTexture2D*  pTexture = new CCTexture2D ( );
    pTexture->autorelease ( );
    return this->initWithTexture ( pTexture, 0 );
}
コード例 #16
0
bool CCSpriteBatchNode::init()
{
    CCTexture2D * texture = new CCTexture2D();
    texture->autorelease();
    return this->initWithTexture(texture, 0);
}
コード例 #17
0
ファイル: HelloWorldScene.cpp プロジェクト: mikesimb/Classes
void HelloWorld::draw()
{
    //这里需要绘制格子了。。
    CCPoint pt1;
    CCPoint pt2;
    for (int i = 0 ; i < 16 ; i++)
    {
        for (int j =0 ; j < 8; j++) {
            int x = m_CurrentMapStartPos.y +j;
            int y = m_CurrentMapStartPos.x +i;
            if (map[x][y] != 1) {
                ccDrawColor4B(255, 0, 0, 125);
                
            }
            else
            {
                if(map[x][y] == 2){
                    ccDrawColor4B(0, 255, 255, 125);
                }
                else
                {
                    ccDrawColor4B(0, 255, 0, 125);
                }
                
            }
            pt1.x = i*64 ;
            pt1.y = j*64+m_border;
            pt2.x = (i+1)*64;
            pt2.y = (j+1)*64+m_border;
            ccDrawRect(pt1, pt2);
            
            {
               char  num[20];
               CCTexture2D* tex = new CCTexture2D();
               sprintf(num, "%d,%d",(int)m_CurrentMapStartPos.x + i,(int)m_CurrentMapStartPos.y +j);
                tex->initWithString(num, "Arial", 15);
               CCRect rect = CCRectMake(pt1.x,pt1.y,30,30);
               tex->drawInRect(rect);
               tex->autorelease();
            }
            
        }
    }
    
    char  PlayerPos[20];
    CCTexture2D* tex = new CCTexture2D();
    sprintf(PlayerPos, "playerPos:%d,%d",(int)m_CurrentPos.x,(int)m_CurrentPos.y);
    tex->initWithString(PlayerPos, "Arial", 15);
    CCRect rect = CCRectMake(10,700,100,30);
    tex->drawInRect(rect);
    tex->autorelease();
    
    char  CurrentmapstartPos[20];
    CCTexture2D* tex1 = new CCTexture2D();
    sprintf(CurrentmapstartPos, "CurrentmapstartPos:%d,%d",(int)m_CurrentMapStartPos.x,(int)m_CurrentMapStartPos.y);
    tex1->initWithString(CurrentmapstartPos, "Arial", 15);
    CCRect rect1 = CCRectMake(10,730,100,30);
    tex1->drawInRect(rect1);
    tex1->autorelease();
    


    CCLayer::draw();
    
    
}