- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何判断您是否触摸了 CCLabel?
下面的代码显然不能很好地工作,因为它只测试点相等性。当然,触摸点不一定等于 CCLabel (CCNode) 的位置属性。如何判断触摸点是否落在“矩形”内? CC 标签?
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
for( UITouch *touch in touches ) {
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
self.myGraphManager.isSliding = NO;
if(CGPointEqualToPoint(location, label1.position)){
NSLog(@"Label 1 Touched");
}else if(CGPointEqualToPoint(location, label2.position)){
NSLog(@"Label 2 Touched");
}else if(CGPointEqualToPoint(location, label3.position)){
NSLog(@"Label 3 Touched");
}else if(CGPointEqualToPoint(location, label4.position)){
NSLog(@"Label 4 Touched");
}else if(CGPointEqualToPoint(location, label5.position)){
NSLog(@"Label 5 Touched");
}else if(CGPointEqualToPoint(location, label6.position)){
NSLog(@"Label 6 Touched");
}
}
}
最佳答案
使用 CCLabel 的边界框并使用 Apple 的 CGRectContainsPoint 方法测试该点是否包含在矩形中,如下所述:http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html#//apple_ref/c/func/CGRectContainsPoint
要获取 CCLabel 的边界框,请遵循我的 cocos2d 常见问题解答中的建议:如何获取 Sprite 的边界框矩形: http://www.learn-cocos2d.com/knowledge-base/cocos2d-iphone-faq/learn-cocos2d-public-content/manual/cocos2d-general/14813-how-to-get-a-sprites-bounding-box-bounding-rectangle-with-code
它将向 CCSprite 添加一个 Objective-C 类别,因此它的行为类似于 CCSprite 成员方法。由于 CCLabel 是 CCSprite 的子类,因此这也可以工作。你可以这样调用它:
CGRect bbox = [label getBoundingRect];
关于iphone - 如何判断您是否触摸了 CCLabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890845/
如何判断您是否触摸了 CCLabel? 下面的代码显然不能很好地工作,因为它只测试点相等性。当然,触摸点不一定等于 CCLabel (CCNode) 的位置属性。如何判断触摸点是否落在“矩形”内? C
我创建了一个标签并尝试将其包装。当文本中出现空格时自动换行,当文本中出现逗号(,)时也自动换行。 我不想在出现逗号时换行。 任何帮助。 代码 - var label = new cc.Labe
我有一个 CCSpriteBatchNode 添加到我的场景中。 我有一个使用“initWithSpriteFrameName”创建的 CCSprite,然后我将它添加到我的批处理节点。 Sprite
我是一名优秀的程序员,十分优秀!