gpt4 book ai didi

c++ - Xcode 中多个图像之间的交集

转载 作者:行者123 更新时间:2023-11-30 04:27:29 24 4
gpt4 key购买 nike

大家好,我一直在制作一款游戏,用户按下一个按钮,每次按下该按钮时,屏幕都会添加一个新的 UIImageView(每次都相同)。这些 UIImageView 可以通过 UITouch 函数单独拖动。但我希望他们也能检测到交叉路口!我想知道哪两个 UIImageViews 相交,所以我可以更改两个相交的 UIImageViews 的图像 url。

-(IBAction)ClTouched:(id)sender {

imgView2 = [[UIImageView alloc] initWithFrame:CGRectMake(120, 20, 80, 80)];
imgView2.backgroundColor = [UIColor clearColor];
imgView2.userInteractionEnabled = TRUE;
imgView2.image = [UIImage imageNamed:@"Cl.png"];

[self.view addSubview:imgView2];

//触摸移动图像 你可以- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)事件{ imgView.userInteractionEnabled = TRUE;

// get touch event
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.view];

if ([self.view.subviews containsObject:[touch view]]) {
[touch view].center = touchLocation;
}

if (CGRectIntersectsRect(imgView.frame, imgView2.frame)) {
naam.text = @"INTERSECTION";
}

我希望这些信息足以帮助我!

最佳答案

您可以使用 CGRectIntersectsRect() 查看是否有任何 UIImageView 与另一个相交。下面的例子..

编辑:之后意识到您已经实现了 CGRectIntersectsRect() 方法。如果你有一组你可以访问的所有其他图像,同时拖动你想要比较的图像,你可以做这样的事情

   for(UIImageView *image in yourArrayOfImages) {

if(CGRectIntersectsRect(self.frame,[image frame])) {

NSLog(@"self overlaps %@",image);
//Now you know self is overlapping `image`, change the URL.

}

}

由于您有多个这些图像,因此您必须对所有图像进行 for 循环并使用上述方法确定哪些图像相交。

关于c++ - Xcode 中多个图像之间的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com