CSS 이미지에 마스킹 하기 (mask image) + 앱스토어 아이콘처럼 보이게 곡률 조정 (코너 깎기)

CSS MASK-IMAGE 아래와 같은 이미지를 마스킹(마스크 적용)하는 방법입니다. 참고: 이미지 마스킹(마스크)이란?   마스킹으로 덧씌울 PNG 이미지 파일을 준비합니다. 이 마스킹 이미지를 씌우면 투명한 부분은 표시되지 않고, 검은색 부분은 표시가 됩니다.     HTML 파일에서 적용하고자 하는 요소에 다음 CSS를 삽입합니다. img { -webkit-mask-image: url(“ddmask.png”); -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-image: 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 4 (完) – 개발자 및 유저 인터뷰

Iron Galaxy 인터뷰 지연 기반 및 롤백 솔루션이 어떻게 작동하는지 설명하는 것 외에도 여러 프로젝트에서 롤백 작업을 수년 간 진행해 온 게임 개발자들의 의견과 관점을 듣고 싶었습니다. Iron Galaxy 소프트웨어 엔지니어이자 네트워킹의 주역인 Ramón “krazhier” Franco와 Iron Galaxy 디자이너 Adam “Keits” Heart와 함께하게 되어 매우 기쁘게 생각합니다. 그들에게 롤백에 대해 몇 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 3 – 롤백 넷코드의 기술적 측면과 구현 난점

롤백 넷코드의 기술적 측면 이전 포스트에서 롤백이 작동하는 방식과 왜 롤백이 나쁜 연결 상태을 감추기에 좋은 이유에 대해 이야기했습니다. 그러나 이제 우리는 롤백 넷코드가 어떻게 만들어지는지, 롤백을 구현하는 게임이 무엇을 할 수 있어야 하는지, 왜 일부 게임에서 좋은 롤백을 만드는 데 어려움이 있는지에 대해 이야기해야 합니다. 좋은 넷코드를 만드는 것이 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 2 – 롤백(Rollback) 넷코드

롤백 넷코드 (Rollback Netcode) 게임의 넷코드 선택에도 불구하고 플레이어와 상대 간의 거리를 단번에 바꿀 수 없고, 네트워크가 정보를 누락하거나 지연(delay)시키는 것을 막을 수 없기 때문에 어떻게 롤백 넷코드 전략이 다른 것보다 훨씬 더 나을 수 있는지 궁금할 수 있습니다. 관건은 넷코드가 불확실성을 어떻게 처리하느냐에 있습니다. 원격 플레이어로부터 정보가 없을 때는 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 1 – 기본 이론, 지연 기반(delay-based) 넷코드

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 네트워크를 통한 최적의 플레이를 위해 게임을 디자인하는 방법 언제든지 격투 게임 커뮤니티를 돌아다니면 온라인에서 격투 게임을 하는 것이 왜 답답한 경우가 있는지에 대한 토론을 보게 될 것입니다. 순간적 반사작용(twitch reflexes)와 플레이어의 반응을 기반으로 만들어진 장르인 격투 게임은 오프라인에서 더보기…

Swift(스위프트): 튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 2

원문 MVVM in iOS Swift   새 애플리케이션을 구축할 때마다 항상 새 프로젝트에 어떤 아키텍처 패턴을 선택해야 하는지에 궁금할 수 있습니다. iOS에서 가장 많이 사용되는 아키텍처 패턴은 MVC입니다. 대부분의 개발자는 프로젝트에 MVC 패턴을 사용합니다. 소규모 프로젝트에는 MVC가 잘 작동하지만 프로젝트 크기가 증가하기 시작하면 소스 코드가 지저분해지기 시작합니다. 아키텍처 패턴을 사용하는 더보기…

Swift(스위프트): 튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 1

  원문 Design Patterns by Tutorials: MVVM   버전 Swift 4 iOS 11 Xcode 9   튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 上 MVVM(Model-View-ViewModel)은 오브젝트를 세 개의 개별 그룹으로 분리하는 구조적인 디자인 패턴입니다. 모델(Model)은 애플리케이션 데이터를 보유합니다. 일반적으로 구조체(struct) 또는 간단한 클래스(class)입니다. 뷰(View)는 화면에 시각적 요소와 컨트롤을 표시합니다. 일반적으로 UIView의 더보기…

iOS 앱 포트폴리오: 나만의 오르골 만들기 (Make My MusicBox) 애플 앱스토어 출시 📱

나만의 오르골(뮤직 박스) 악보를 만들고 재생, 공유할 수 있는 나만의 오르골 만들기 Make My MusicBox 앱이 출시되었습니다.   나만의 오르골 만들기 Make My MusicBox 프로모션 영상   사용 도구 Swift, Xcode   앱스토어 링크 나만의 오르골 만들기 Make My MusicBox (모든 국가 출시)   깃허브 링크 https://github.com/ayaysir/MusicBox   제작 시기 더보기…

Swift(스위프트): 언어 현지화(로컬라이제이션 Localization) – 다국어 지원 앱 만들기

스위프트(Swift)를 사용한 iOS 프로젝트에서 로컬라이징하는 방법입니다. 프로젝트 세팅 스토리보드 로컬라이징 코드 내 텍스트의 로컬라이징 변수값을 사용하는 어순이 바뀌는 언어의 로컬라이징 info.plist 로컬라이징   1. 프로젝트 세팅 프로젝트 세팅의 PROJECT > Info 에서 Localizations 아래에 있는 + 버튼을 클릭합니다.   여기서는 한국어(ko)를 선택하도록 하겠습니다. 여러 언어를 추가할 수 있습니다.   기본 더보기…

Swift(스위프트): 원형 버튼 만들기 (스토리보드)

가로 세로 크기가 동일한 정사각형 버튼에서 cornerRadius 값을 버튼 너비(width)의 50%을 주면 원형 버튼이 됩니다.   @IBOutlet으로 연결된 버튼 또는 수동으로 만든 버튼을 원형으로 만들기 @IBOutlet weak var button: UIButton! // viewDidLoad(_:) 등 함수 안에 작성 button.layer.cornerRadius = 0.5 * button.bounds.size.width button.clipsToBounds = true   extension으로 만들어서 재사용하기 프로젝트에 다음 더보기…