Closed eeeesong closed 3 years ago
우선 위치가 맞도록 맞춰놓긴 했는데 이 부분에 시간을 더 투자하는 게 적절하지 않을 것 같아서 우선 넘어가는 것이 나을 것 같습니다!
BaseDrawingProperty
struct BaseDrawingProperty {
let id: Int
let origin: CGPoint
let size: CGSize
func centerMovedBy(x: CGFloat, y: CGFloat) -> CGPoint {
let newX = origin.x + x + size.width / 2
let newY = origin.y + y - size.height / 2
return CGPoint(x: newX, y: newY)
}
}
private func addPlayer(to baseInfo: BaseDrawingProperty) {
let playerWidth = width * 0.06
let playerHeight = playerWidth * 1.5
let playerSize = CGSize(width: playerWidth, height: playerHeight)
let offsetX = playerWidth / 2
let playerOrigin = baseInfo.centerMovedBy(x: -offsetX, y: 0)
//(이하 생략)
private func animatePlayer(with fromBaseInfo: BaseDrawingProperty,_ toBaseInfo: BaseDrawingProperty, duration: Double, delay: Double) {
let offsetY = player.frame.height / 2
let fromPosition = fromBaseInfo.centerMovedBy(x: 0, y: offsetY)
let toPosition = toBaseInfo.centerMovedBy(x: 0, y: offsetY)
//(이하 생략)
버그 내용
full animation
홈 -> 1루 -> 2루 -> 3루 -> 홈
애니메이션을 연속적으로 실행시켜 놓은 상태before
after
예상 이유
PlayerLayer 초기화 이후 너비가 달라졌다-> 너비가 같게 나온다만약 찾지 못할 경우 위치를 두번 설정해주면 되긴 하지만... 그러나 맑은 정신일 때 다시 보고 찾아보겠습니다!