-
Notifications
You must be signed in to change notification settings - Fork 0
Game View
WooSeok Suh edited this page Jul 22, 2021
·
6 revisions
by Song
- 기기에 따라 가장 가변적인 window
height를 기준으로 View들의 크기를 잡음- Game View (PerspectiveView, Time Bar View, Unit Stacks 포함): 전체 View 대비 0.46만큼의 높이
- Direction Buttons: 전체 View 대비 0.15만큼의 높이
- Score Label: 전체 View 대비 0.15만큼의 높이
- 각 요소가 가지는 높이에 대비하여 너비 설정 (Aspect Ratio 활용)
UIProgressView 활용하기
- AutoLayout height constraints를 조정하여 progressView 높이 변경
- 모서리 눌림 현상 발생
- progressView를 subclassing, layoutSubviews를 override하여 layer의 mask를 새로 그려주는 것으로 해결
override func layoutSubviews() {
super.layoutSubviews()
let cornerRadius = self.bounds.height * 0.5 // 둥근 모서리
let maskLayerPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: cornerRadius)
let maskLayer = CAShapeLayer()
maskLayer.frame = self.bounds
maskLayer.path = maskLayerPath.cgPath
self.layer.mask = maskLayer
}
by seok
게임 난이도 조정
- 기존 고정 난이도 기준을, memberCount에 따라 동적으로 변경
func isTimeToLevelUp() -> Bool {
guard memberCount < GameSetting.maxUnitCount else { return false }
switch memberCount {
case 2:
return answerCount >= memberCount * 20
case 3:
return answerCount >= memberCount * 30
case 4:
return answerCount >= memberCount * 50
default:
return answerCount >= memberCount * 60
}
}created by 우송