2014-03-04 2 views
0

어떻게 스프라이트 "잉크"를 똑바로 쏠 수 있습니까? 플레이어 Squiddy가 화면을 가로 질러 움직이며 매번 똑바로 위로 쏠 수있게하고 싶습니다. 내가 지금까지 가지고있는 코드는 잉크를 촬영하지만 화면에 특정 지점에 촬영CC 스프라이트 방향 Cococs2d 3.0

내가 전에 말했듯이

CGPoint targetPosition = ccp(self.contentSize.width/2, self.contentSize.height/2 + self.contentSize.height); 

ink = [CCSprite spriteWithImageNamed:@"MarioTube_Body_Rev.png"]; 
ink.position = Squiddy.position; 
ink.physicsBody = [CCPhysicsBody bodyWithCircleOfRadius:ink.contentSize.width/2.0f andCenter:ink.anchorPointInPoints]; 
ink.physicsBody.collisionGroup = @"playerG roup"; 
ink.physicsBody.collisionType = @"projectileCollision"; 
CCActionRotateBy *actionSpin = [CCActionRotateBy actionWithDuration:.5f angle:360]; 
[ink runAction:[CCActionRepeatForever actionWithAction:actionSpin]]; 
[_physicsWorld addChild:ink]; 

CCActionMoveTo *actionMove = [CCActionMoveTo actionWithDuration:.75f position:targetPosition]; 
CCActionRemove *actionRemove = [CCActionRemove action]; 
[ink runAction:[CCActionSequence actionWithArray:@[actionMove,actionRemove]]]; 
+0

필자가 볼 수 있듯이 잉크는 physicBody입니다. 액션을 실행하는 대신 ink.physicsBody에 힘을 가하는 것이 어떻습니까? – mursang

+0

그래서'ink.physicsBody.force = @ "";'와 비슷한 것을? – Crazycriss

+0

그렇습니다. 아래 내 대답을 참조하십시오 – mursang

답변

1

코드, ink.physicsBody에 힘이나 충격을 적용하려고 :

CGPoint force = ccpMult(ccp(0,90), 600); //x=0, y=90, force=600 
[ink.physicsBody applyForce:force]; 

값이 0이면 힘이 오릅니다. 그냥 값을 가지고 놀아 라. 희망이 있습니다.

+0

그 완벽하게, 감사합니다! – Crazycriss

관련 문제