【问题标题】:how to find the current position of a sprite in cocos2d如何在 cocos2d 中找到精灵的当前位置
【发布时间】:2011-12-01 06:15:14
【问题描述】:

我正在将一个对象从一个轴移动到另一个轴,当我触摸它时它会停在那个 Position 上,但是我怎样才能找到它的当前位置,当用户触摸它时它会停在那个位置以及当用户双击它时,然后它会向另一个方向移动,我想在用户触摸时停在那个位置时找出对象的当前位置..

任何想法..关于那个。


感谢 Arsalan 的回复,但我的问题是我有 3 个精灵..

sprite.positoin.. , sprite1. position....., sprite2.position......, 在我的游戏逻辑中我做这件事。那个

[精灵 addChild:sprite1]; [精灵 addChild:sprite2]; 好的

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

如何找出 sprite1.position.x 的值

有什么办法吗?

【问题讨论】:

  • 嗯...CGPoint = sprite.position ?

标签: iphone cocos2d-iphone


【解决方案1】:

要在游戏中的任何时候获取 CCSprite 的位置,您可以使用以下代码

mySprite.position;

要确定你是否触摸了精灵,你需要先获取精灵的Rect

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 的点和矩形。

问候,

阿尔斯兰

【讨论】:

  • Aslam o alkum,Arslan,我向上发布了我的确切问题。但是看到这个并给我任何建议..
  • 感谢 Arsalan 的回复,但我的问题是我有 3 个 sprite.. sprite.positoin.. , sprite1。 position....., sprite2.position......, 在我的游戏逻辑中我做这件事。那 [精灵 addChild:sprite1]; [精灵 addChild:sprite2];好的,我在精灵中插入了一个动作。但是当用户触摸它时它会停止动画,我必须记下 sprite 的最终位置以及 sprite1 的位置。 (记住 sprite1 是 sprite 的子子项。)我怎样才能找到 sprite1.position.x 值的任何解决方案?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
相关资源
最近更新 更多