2013-10-23 2 views
0

동그라미 (장애물)가 포함 된 UIImageview이 있고 다른 이미지 (내 캐릭터)가 포함 된 UIImageview이 있습니다. 내 서클이 내 캐릭터를 때리면 게임이 끝납니다.UIimageview가 둥근 모양으로 맞 춥니 다

UIImageview 상자 안에있는 원 대신 내 원이 들어있는 UIImageview 상자를 터치하는 문자로 게임이 끝나면 내 문제가 발생합니다. 내가 생각할 수있는

솔루션은 다음과 같습니다

  • 내 원을 맞게 반올림 UIImageview합니다.
  • UIImageviews 대신 내 문자 픽셀과 원 픽셀 사이의 충돌을 어떻게 든 감지합니다.

도움말 및 아이디어 정말 감사하겠습니다. 저는 xcode 초보자입니다.

감사합니다. 다른 기술의

+0

계산 교차 위치. 중앙 캐릭터의 위쪽, 아래쪽, 왼쪽, 오른쪽이 죽으면 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래에서 캐릭터가 죽지 않습니다. 캐릭터가 원형 오브젝트 위로 점프하고있는 것처럼 보입니다. –

+0

이렇게 연장 할 수 있습니까? 시도해 볼 수 있습니까? – Phil

답변

6

커플 :

1) UIView의 # layer.cornerRadius - 구현하는 슈퍼 간단한은 단지 하나 개의 속성 것을 설정합니다. 하지만 테이블 뷰와 같은 요소를 스크롤하는 것은 정말 나쁩니다.

2) 마스크로 UIImageView - 구현하기도 쉽습니다. 기본적으로 중간에 투명한 원이있는 정사각형 이미지를 만들고 새로운 UIImageView를 사용하여 뷰 위쪽에 때 리십시오. 서클 디자인에 약간의 반사 또는 스타일이있는 경우이 방법을 사용하면 더 쉽게 생활 할 수 있습니다.

3) 사용자 지정 그림 - UIView 하위 클래스를 만들고 drawRect를 재정 의하여 이미지를 그리고 원형 경로로 클립합니다.

희망 하시겠습니까?

편집 :

이 답변을 읽을 수 있습니다.

1) Fill an UIBezierPath with a UIImage

2) iOS: Inverse UIBezierPath (bezierPathWithOvalInRect)

3) 원 How to mask a square image into an image with round corners in the iPhone SDK?

+0

도움 주셔서 감사합니다. UIView # layer.cornerRadius를 사용하려면 를 가져와야합니까? 또한 이렇게 구현할 것입니다 : ** circle.layer.cornerRadius = 10; ** ** circle.layer.masksToBounds = YES; ** – Phil

+0

예, CALayers를 사용해야 할 때마다 QuartzCore Framework를 가져와야합니다. 및 Core Animation.You이 링크에서 레이어에 대한 훌륭한 자습서를 찾을 수 있습니다 : -http : //www.raywenderlich.com/2502/calayers-tutorial-for-ios-introduction-to-calayers-tutorial – Bhavesh

+0

게시 한 가이드를 읽은 후 이전 (내가 어느 정도 읽고 이해함) 나는 레이어 아이디어를 스크린 전체에 원을 움직이는 이전 코드와 결합하는 것이 어렵다는 것을 알고 있습니다."** circle.center = CGPointMake (circle.center.x - 9, circle.center.y); **". 새 레이어에 맞게 내 동작 코드를 완전히 다시 작성해야합니까? – Phil

관련 문제