3D perspective view of an iphone game using cocos2d

I am developing a ' Paper Toss' for iphone using cocos2d , and I would like to know how to implement a perspective 3D view in this, because while we throw the paper ball into the basket, we need to get a 3D feel.I'am using the code, which I did using this, I got a rectilinear movement. Please help me..

 *- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { // Choose one of the touches to work with UITouch *touch = [touches anyObject]; CGPoint location = [touch locationInView:[touch view]]; location = [[CCDirector sharedDirector] convertToGL:location]; // Set up initial location of projectile CGSize winSize = [[CCDirector sharedDirector] winSize]; CCSprite *projectile = [CCSprite spriteWithFile:@"ball.png" rect:CGRectMake(0, 0, 40, 40)]; projectile.position = ccp(winSize.width/2,20); // Determine offset of location to projectile int offX = location.x - projectile.position.x; int offY = location.y - projectile.position.y; // Bail out if we are shooting down or backwards if (offY <= 0) return; // Ok to add now - we've double checked position [self addChild:projectile]; // Determine where we wish to shoot the projectile to int realY = winSize.height + (projectile.contentSize.width/2); float ratio = (float) offX / (float) offY; int realX = (realY * ratio) + projectile.position.x; CGPoint realDest = ccp(realX, realY); // Determine the length of how far we're shooting int offRealX = realX + projectile.position.x; int offRealY = realY + projectile.position.y; float length = sqrtf((offRealX*offRealX)+(offRealY*offRealY)); float velocity = 480/1; // 480pixels/1sec float realMoveDuration = length/velocity; // Move projectile to actual endpoint [projectile runAction:[CCSequence actions: [CCMoveTo actionWithDuration:realMoveDuration position:realDest], [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)], nil]]; //add to the projectiles array projectile.tag = 2; [_projectiles addObject:projectile]; 

} *

+7
source share
3 answers

Finally, I completed the paper roll using cocos2d.I implemented a bezier curve, and here it is,

  // Bezier curve control points bezier.controlPoint_1 = ccp(location.x-CONTROL_POINT1_X, CONTROL_POINT1_Y); bezier.controlPoint_2 = ccp(location.x-CONTROL_POINT2_X, CONTROL_POINT2_Y); bezier.endPosition = ccp(location.x-CONTROL_POINT1_X,distance); // Motion along bezier curve and finally call a function [projectile runAction:[CCSequence actions: [CCAutoBezier actionWithDuration:DEFAULT_ACTION_DURATION bezier:bezier], [CCCallFuncN actionWithTarget:self selector:@selector(collisionCheck:)], nil]]; 
+7
source

Just scale your sprite image so that it becomes smaller "further".

+3
source

Hey, you can use the bezier curve for a 3d perspective view in cocos2d .

 bezier.controlPoint_1 = ccp(location.x-CONTROL_POINT1_X, CONTROL_POINT1_Y); bezier.controlPoint_2 = ccp(location.x-CONTROL_POINT2_X, CONTROL_POINT2_Y); 
+1
source

All Articles