Dodajemy funkcję przeciągania i upuszczania do tego, co ma stać się polem sportowym z pozycjami dla graczy.iOS - Przeciągnij i upuść wykrywanie kolizji Jak wykryć, kiedy wybrany element przeciąga nad innym podzbiorem?
Pozycje są mapowane za pomocą Konstruktora interfejsów, z których każdy jest oddzielnym obiektem UIImageView.
Chcemy mieć możliwość przeciągania obrazów gracza z pozycji stołu z boku ekranu na pozycje na polu.
W jaki sposób możemy wykryć, kiedy wybrany gracz, który jest przenoszony, koliduje z istniejącym obrazem pozycji gry?
Szukamy sposobu na wykrycie, czy w obecnej lokalizacji znajduje się widok lub ImageView.
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
tile1.center = location;
if gamePositionExistsAtCurrentLocation(location) { //want something like this
[tile1 setBackgroundColor:[UIColor blueColor]];
} else {
[tile1 setBackgroundColor:[UIColor yellowColor]];
}
}
Więc chodzi o to, że za każdym razem przejść biegnę przez tablicę obiektów i zobaczyć, czy pasuje do mojej bieżącej lokalizacji (ale przy użyciu klatkę zamiast jak wspomniałeś)? – Evolve
Czy są jakieś metody dostarczone przez Apple, z których mogę skorzystać, aby poinformować mnie, które subviews obecnie przecinają się z określonym punktem? – Evolve