如何在cocos2d中找到精灵的当前位置

时间:2011-12-01 06:15:15

标签: iphone cocos2d-iphone

我正在将一个物体从一个轴移动到另一个轴,当我触摸它时停在该位置上,但是如何找到它的当前位置,当用户触摸它时将停在该位置并且当用户双击它时,然后它将向另一个方向移动,当我在用户触摸时停在该位置时,我想找出对象的当前位置。

任何想法..关于那个。


对于Arsalan的回复,thnx,但我的问题是我有3个精灵..

sprite.positoin ..,sprite1。位置.....,sprite2.position ......,在我的游戏逻辑中,我做了这件事。该

[sprite addChild:sprite1]; [sprite addChild:sprite2]; 确定

我在精灵中插入了一个动作。但是当用户触摸它时会停止动画,我必须记下精灵的最终位置以及精灵1的位置。 (记住sprite1是精灵的子孙。)

如何找到sprite1.position.x值

任何解决方案?

1 个答案:

答案 0 :(得分:0)

为了在游戏中随时获得CCSprite的位置,您可以使用以下代码

mySprite.position;

要确定是否触摸了精灵,首先需要获得精灵的矩形

CGRect rect = CGRectMake(mySprite.position.x-(mySprite.contentSize.width/2), mySprite.position.y-(mySprite.contentSize.height/2),
                         mySprite.contentSize.width, mySprite.contentSize.height;

然后你必须检查触摸位置是否在精灵矩形内。

if (CGRectContainsPoint(rect, touchLocation)) {
    // code to stop the movement of sprite
}

通过上面的代码,你可以有一个想法继续朝着哪个方向前进。您还可以查看Apple Documentation的积分和值数。

的问候,

尔斯兰