Ejemplo n.º 1
0
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;
}
NS_CC_BEGIN
    
static CCTexture2D* getDefaultTexture ( KDvoid )
{
    CCTexture2D*  pTexture = KD_NULL;
    do 
    {
        const KDchar*  szKey = "__firePngData";

        pTexture = CCTextureCache::sharedTextureCache ( )->textureForKey ( szKey );
        CC_BREAK_IF ( pTexture != KD_NULL );

        CCImage*  pImage = new CCImage ( );
		if ( pImage && pImage->initWithData ( (KDvoid*) __firePngData, sizeof ( __firePngData ) ) )
		{
			pImage->autorelease ( );
			pTexture = CCTextureCache::sharedTextureCache ( )->addCCImage ( pImage, szKey );
		}
		else
		{
			CC_SAFE_DELETE ( pImage );
		}      
    } while ( 0 );

    return pTexture;
}
Ejemplo n.º 3
0
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);

}
Ejemplo n.º 4
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;
}
Ejemplo n.º 5
0
    static CCSprite* createMaskSprite(CCLayerColor* base,
                                      const std::vector<CCRect>& cutoutList)
    {
        CCSize winSize = CCDirector::sharedDirector()->getWinSize();
        
//        CCRenderTexture* rt = CCRenderTexture::create(winSize.width, winSize.height);
        
        // use a low-precision format
        CCRenderTexture* rt = CCRenderTexture::create(winSize.width,
                                                      winSize.height,
                                                      kTexture2DPixelFormat_RGBA8888);
        rt->setAnchorPoint(ccp(0, 0));
        rt->setPosition(ccp(0, 0));
        
        ccBlendFunc cutoutBlend = {GL_DST_ALPHA, GL_ZERO};
        
        // render to texture
        rt->begin();
        base->visit();

        CCSprite* s = CCSprite::create("ui/1x1_b.png");
        s->setAnchorPoint(ccp(0, 0));
        s->setOpacity(0);
        
        for(const CCRect& cutout : cutoutList)
        {
            s->setPosition(cutout.origin);
            s->setScaleX(cutout.size.width * contentScale());
            s->setScaleY(cutout.size.height * contentScale());

            s->setBlendFunc(cutoutBlend);
            s->visit();
        }
        rt->end();
        // render to texture done
        
        std::string randName = std::string("mask_image_") + boost::lexical_cast<std::string>(rand());

        CCImage* img = rt->newCCImage(false);
        img->autorelease();
        
        CCTexture2D* tex = CCTextureCache::sharedTextureCache()->addUIImage(img,
                                                                            randName.c_str());
        CCSprite *mask = CCSprite::createWithTexture(tex);
        mask->setFlipY(true);
        mask->setAnchorPoint(ccp(0, 0));
        mask->setPosition(ccp(0, 0));
        
        return mask;
    }
Ejemplo n.º 6
0
void CAMediaManager::initAndroidImage()
{
    
    CCImage *image =new CCImage();
    image->autorelease();
    if (image->initWithImageData((void*)m_pBuffer,n_fileSize,CCImage::kFmtJpg))
    {
        
        this->getMediaDelegate()->getSelectedImage(image);
        CAScheduler::unschedule(schedule_selector(CAMediaManager::initAndroidImage), this);
    }
    
    
    
    
}
Ejemplo n.º 7
0
/*
 * setup 设置texture
 */
void UINumber::setup()
{
	//UIImage *image = [UIImage imageNamed:@"number.png"];
	CCImage *image = new CCImage();
	image->initWithImageFile("number.png");
	image->autorelease();

    //m_texture = [[CCTexture2D alloc]initWithImage:image];
	m_texture = new CCTexture2D();
	m_texture->autorelease();
	m_texture->initWithImage(image);

	//CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:m_texture rect:CGRectMake(0, 0, NUM_WIDTH, NUM_HEIGHT)];
    CCSpriteFrame *frame = CCSpriteFrame::createWithTexture(m_texture, CCRectMake(0, 0, NUM_WIDTH, NUM_HEIGHT));
	this->setDisplayFrame(frame);
}
Ejemplo n.º 8
0
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;
}
JNIEXPORT void JNICALL Java_org_cocos2dx_lib_CCImage_1richlabel_nativeGetSpriteFrameInfo
  (JNIEnv * env, jclass clazz, jstring jPlist, jstring jAtlas, jstring jImageName, jobject jFrame) {
	// get c string
	const char* plist = (const char*)env->GetStringUTFChars(jPlist, NULL);
	const char* atlas = (const char*)env->GetStringUTFChars(jAtlas, NULL);
	const char* imageName = (const char*)env->GetStringUTFChars(jImageName, NULL);

	// get sprite frame
	CLBitmapDC& bitmapDC = CLBitmapDC::sharedCLBitmapDC();
	CCSpriteFrameCache* fc = CCSpriteFrameCache::sharedSpriteFrameCache();
	if(!fc->spriteFrameByName(imageName)) {
		if(bitmapDC.m_decryptFunc) {
			// load encryptd data
			unsigned long len;
			char* data = (char*)CCFileUtils::sharedFileUtils()->getFileData(atlas, "rb", &len);

			// create texture
			int decLen;
			const char* dec = (*bitmapDC.m_decryptFunc)(data, (int)len, &decLen);
			CCImage* image = new CCImage();
			image->initWithImageData((void*)dec, decLen);
			image->autorelease();
			CCTexture2D* tex = CCTextureCache::sharedTextureCache()->addUIImage(image, atlas);

			// add
			fc->addSpriteFramesWithFile(plist, tex);

			// free
			if(data != dec)
				free((void*)dec);
			free(data);
		} else {
			fc->addSpriteFramesWithFile(plist, atlas);
		}
	}
	CCSpriteFrame* frame = fc->spriteFrameByName(imageName);

	// get java frame info
	jclass frameClass = env->FindClass("org/cocos2dx/lib/CCImage_richlabel$AtlasFrame");
	jfieldID fid_x = env->GetFieldID(frameClass, "x", "I");
	jfieldID fid_y = env->GetFieldID(frameClass, "y", "I");
	jfieldID fid_w = env->GetFieldID(frameClass, "w", "I");
	jfieldID fid_h = env->GetFieldID(frameClass, "h", "I");
	jfieldID fid_offsetX = env->GetFieldID(frameClass, "offsetX", "I");
	jfieldID fid_offsetY = env->GetFieldID(frameClass, "offsetY", "I");
	jfieldID fid_sourceWidth = env->GetFieldID(frameClass, "sourceWidth", "I");
	jfieldID fid_sourceHeight = env->GetFieldID(frameClass, "sourceHeight", "I");
	jfieldID fid_rotated = env->GetFieldID(frameClass, "rotated", "Z");

	// copy frame info to java object
	const CCSize& sourceSize = frame->getOriginalSizeInPixels();
	bool rotated = frame->isRotated();
	const CCRect& frameRect = frame->getRectInPixels();
	const CCPoint& offset = frame->getOffsetInPixels();
	env->SetIntField(jFrame, fid_x, (int)frameRect.origin.x);
	env->SetIntField(jFrame, fid_y, (int)frameRect.origin.y);
	env->SetIntField(jFrame, fid_w, (int)frameRect.size.width);
	env->SetIntField(jFrame, fid_h, (int)frameRect.size.height);
	env->SetIntField(jFrame, fid_offsetX, (int)offset.x);
	env->SetIntField(jFrame, fid_offsetY, (int)offset.y);
	env->SetIntField(jFrame, fid_sourceWidth, (int)sourceSize.width);
	env->SetIntField(jFrame, fid_sourceHeight, (int)sourceSize.height);
	env->SetBooleanField(jFrame, fid_rotated, rotated);

	// release
	env->DeleteLocalRef(frameClass);
	env->ReleaseStringUTFChars(jPlist, plist);
	env->ReleaseStringUTFChars(jAtlas, atlas);
	env->ReleaseStringUTFChars(jImageName, imageName);
}