나는 자동차 (UIView)가 Google Maps ios api 위에 놓이는 iOS 용 운전 게임을 만들고 있습니다. 지도에 나타나는 자동차 및 회색 건물과의 충돌을 감지하는 데 문제가 있습니다.Google지도 iOS 레이싱 게임 충돌 감지?
저는 픽셀 색상, 즉 차 바로 앞의 픽셀 색상이 건물 옥상의 색상 (회색)인지 여부를 확인하려고했습니다. iPhones 픽셀 색상에 직접 액세스 할 수 없으므로 Google Maps 스크린 샷 메소드를 사용하여 이미지를 가져 와서 픽셀 색상을 얻습니다. 문제는, 방금 떠난 화면의 스크린 샷을 찍을 수 있다는 것입니다. 나는 mapImage = [GMSScreenshot screenshotOfMainScreen];
을 사용하고 있습니다. 나는 또한 창과 화면을 가져 와서 전화를 시도했다. mapImage = [GMSScreenshot screenshotOfScreen:topWindow.screen];
둘 다 같은 효과가있다.
이 문제의 해결책은 무엇입니까? 이 상황에 대한 충돌을 처리하는 더 좋은 방법을 생각해 볼 수 있습니까? 역 지오 코딩에는 건물 대 길거리를 감지하는 기능이 있습니까? 모든 도움에 감사드립니다!
편집 : 이미지 : 인터페이스 빌더 : 왼쪽 오른쪽 게임 메인 메뉴입니다. 왼쪽 상단의 Ui 이미지보기는 참조 용으로 현재 스크린 샷 이미지로 설정됩니다. 내가 아는이 방법은 꺼져 있었어.
게임 플레이 위에서 볼 수 있듯이 이전 메뉴 만 나타납니다.
내 viewdidLoad 기능 : 이미지를 가져 오는 것과 관련하여별로 다른 점이 없습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
cameraPosition = CLLocationCoordinate2DMake(42.271291, -83.729918);
moveDistance = .00055;
cA = [UIColor colorWithRed:.937255 green:.921569 blue:.886275 alpha:1];
camera = [GMSCameraPosition cameraWithLatitude:cameraPosition.latitude
longitude:cameraPosition.longitude
zoom:19
bearing:0
viewingAngle:0];
mapView_ = [GMSMapView mapWithFrame:CGRectMake(0, 0, 480, 300) camera:camera];
mapView_.myLocationEnabled = NO;
[self.view addSubview:mapView_];
car_ = [[Car alloc] initWithFrame:CGRectMake(240, 150, 13, 29) withImage:[UIImage imageNamed:@"carA-01.png"]];
[self.view addSubview:car_];
[self.view addSubview:controllerView];
updateClock = [NSTimer scheduledTimerWithTimeInterval:(1/20)
target:self
selector:@selector(update)
userInfo:nil
repeats:YES];
crashClock = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(checkCrash)
userInfo:nil
repeats:YES];
UIWindow *topWindow = [[UIApplication sharedApplication].windows objectAtIndex:0];
mapImage = [GMSScreenshot screenshotOfScreen:topWindow.screen];
// mapImage = [GMSScreenshot screenshotOfMainScreen];
}
더 많은 코드 (및 스크린 샷)를 표시 할 수 있습니까? 그냥 2 라인을 도울 수 없다. – Raptor