我有两张图片,我需要正确地碰撞它们。我尝试了很多解决方案,但不能正确地碰撞它们。
以下是图片
图片1
图片2
我尝试过CGRectIntersectsRect(),但由于图像因帧错误而在实际遇到之前发生碰撞,因此无法正常工作。请帮帮我。
我也试过使用Sprite Kit,但是对我来说很有用。
编辑1:
尝试了这段代码,但它无效或非常慢:
- (void) checkIntersectionOfRect1 :(CGRect) frame1 Rect2 : (CGRect) frame2 {
CGAffineTransform cg1 = CGAffineTransformIdentity;
CGMutablePathRef *cgPath1 = CGPathCreateWithRect(frame1,&cg1);
CGAffineTransform cg2 = CGAffineTransformIdentity;
CGMutablePathRef *cgPath2 = CGPathCreateWithRect(frame2,&cg1);
ANPathBitmap * bm1 = [[ANPathBitmap alloc] initWithPath:cgPath1];
ANPathBitmap * bm2 = [[ANPathBitmap alloc] initWithPath:cgPath2];
[bm1 generateBitmap];
[bm2 generateBitmap];
ANPathIntersection * intersection = [[ANPathIntersection alloc] initWithPathBitmap:bm1 anotherPath:bm2];
if ([intersection pathLinesIntersect:&CGPointZero]) {
NSLog(@"intersect");
[self endGame];
}
else {
NSLog(@"No intersection");
}
}
请有人帮忙。
答案 0 :(得分:1)
这是两个图像发生冲突的示例,crow1和crow2是两个uiimage,它们将相互碰撞。
NODE_ENV=production pm2 start npm --name api -- start
答案 1 :(得分:0)
Step 1:
可以肯定的是,将图像视图的背景颜色设置为突出的颜色(如蓝色),并查看问题发生的位置。然后你需要使用预览并切掉一些空格,直到它精确到边缘点。
Step 2 :
或者将图片视图的视图更改为,重绘。这将使您的图像适合您的图像视图。你的代码看起来很好。
Step 3 :
或者您可以使用NSTimer并将时间设置为0.0001,并创建一个if语句。
//Try my methods, I'm pretty sure it is not to do with your code but I am not a professional and maybe it is. You never know.
你会知道这一点,你的代码非常复杂,因为你可以用更简单的方式完成它。如果您有任何问题,请询问!谢谢!