精灵以抛物线方式从位置(x, y) 跳转到位置(width-x, y)
Posted
技术标签:
【中文标题】精灵以抛物线方式从位置(x, y) 跳转到位置(width-x, y)【英文标题】:Sprite jump from position(x, y) to position(width-x, y) in a parabolic way 【发布时间】:2013-06-15 00:44:23 【问题描述】:我正在研究 Cocos2D,我需要让精灵以抛物线方式从 position(x, y)
跳转到 position(width-x, y)
。这是我第一次从事游戏开发工作。
如何制作从一侧跳到另一侧的动画?
点击屏幕时我当前的一段代码
- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event
CGSize screenSize = [[CCDirector sharedDirector] winSize];
if(!self.anim.flipY)
self.anim.position = ccp(screenSize.width - self.anim.position.x, self.anim.position.y);
self.anim.flipY = true;
else
self.anim.position = ccp(screenSize.width - self.anim.position.x, self.anim.position.y);
self.anim.flipY = false;
我在论坛上看到,它需要使用重力和速度?有什么提示吗?我几乎没有想法!
【问题讨论】:
在这种情况下,您必须使用高中数学,您必须找到抛物线路径上的点。为此,您必须考虑抛物线的基本原理。 216.253.94.53/Algebra/Graphing/Basics/basics.html 基本检查此链接。如果您不明白,请告诉我。 【参考方案1】:我不确定这是否是您需要的,但您可以使用动作进行精灵跳跃。
// Create a CCJumpTo action.
CCJumpTo *jumpAction = [CCJumpTo actionWithDuration:2.0 position:ccp(100,100) height:50 jumps:1];
// Tell your sprite to run our action.
[mySprite runAction:jumpAction];
还有CCJumpBy
。
它们具有抛物线风格。玩弄height
参数。
【讨论】:
我不认为,CCJumpTo 或 CCJumpBy 都会给出抛物线路径。 实际上,这将始终给出 x=y^2 抛物线路径。如果您想要 x = -y^2 或 y = x^2 或 y = -x^2 ,那么您将不会得到通过这个...我们会得到其他抛物线路径吗?以上是关于精灵以抛物线方式从位置(x, y) 跳转到位置(width-x, y)的主要内容,如果未能解决你的问题,请参考以下文章
如何显示抛物线运动以及如何在 Cocos2D 中找到 Sprite 的最终位置 [关闭]