찾다
웹 프론트엔드CSS 튜토리얼Whack-A-Mole : CSS 에디션

Whack-A-Mole : CSS 에디션

이 기사에서는 CSS 만 사용하여 CSS의 내장 타이머 또는 간격 기능이 없기 때문에 CSS 만 사용하여 Whack-A-Mole 게임을 만드는 것을 탐구합니다. 핵심은 CSS 애니메이션을 활용하여 게임 상태를 관리하고 타이밍을 시뮬레이션하는 데 있습니다.

재단은 순수한 CSS의 이중 클릭 핸들러입니다 (원본 내에 연결된 별도의 기사에 자세히 설명되어 있음). 이 핸들러는 영리하게 애니메이션 및 요소 포지셔닝을 사용하여 단일 클릭과 이중 클릭을 구별합니다. 더블 클릭은 특정 작업을 트리거하고 단일 클릭은 다른 클릭을 트리거합니다. 이 메커니즘은 게임의 상호 작용을 관리하는 데 중요합니다.

두 가지 핵심 원칙이 진행 중입니다.

  1. 애니메이션을 통한 상태 관리 : CSS 애니메이션은 게임 상태를 정의하고 전환하는 데 사용됩니다.
  2. 상호 작용의 위치 제어 : 요소 위치 변경하면 사용자 클릭에 응답하는 요소가 결정됩니다.

요소를보기에 스크롤하는 대신, animation-timing-function: step-end 는 몰의 "팝인"및 "팝 아웃"효과를 만듭니다. left ( transform 대신)을 사용하여 두더지를 배치하면 Firefox의 레이아웃 문제가 피할 수 있습니다.

"Moles"및 "Holes"는 Checkbox Hack과 상호 작용하여 게임의 대화식 요소를 형성하는 스타일의 CSS 레이블입니다. 두더지가 구멍 위에 있으면 클릭하면 두더지의 무선 입력이 트리거됩니다. 그렇지 않으면 구멍 입력을 트리거합니다.

다중 구멍과 두더지가 구현되며, 각각 고유 한 애니메이션 지연으로 게임의 동적 두더지 움직임이 생성됩니다. Python 스크립트를 사용하여 상태 머신의 CSS 선택기 및 키 프레임을 생성하여 복잡한 수동 코딩 프로세스를 단순화했습니다. "무작위"두더지 동작은 CSS의 임의 번호 생성 기능 부족으로 인해 하드 코드됩니다.

그 결과 HTML 및 CSS와 함께 완전히 제작 된 완벽한 기능 반응 기반 게임으로 인해 게임 개발을위한 CSS 애니메이션의 놀라운 기능을 보여줍니다.

위 내용은 Whack-A-Mole : CSS 에디션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Google 글꼴을 태그하고 Goofonts.com을 작성한 방법Google 글꼴을 태그하고 Goofonts.com을 작성한 방법Apr 12, 2025 pm 12:02 PM

Goofonts는 개발자 부인과 디자이너 남편이 서명 한 사이드 프로젝트로, 둘 다 타이포그래피의 큰 팬입니다. 우리는 Google에 태그를 지정했습니다

시대를 초월한 웹 개발 기사시대를 초월한 웹 개발 기사Apr 12, 2025 am 11:44 AM

Pavithra Kodmad

섹션 요소와의 거래섹션 요소와의 거래Apr 12, 2025 am 11:39 AM

두 기사가 정확히 같은 날에 출판되었습니다.

JavaScript API 상태로 GraphQL 쿼리를 연습하십시오JavaScript API 상태로 GraphQL 쿼리를 연습하십시오Apr 12, 2025 am 11:33 AM

GraphQL API를 구축하는 방법을 배우는 것은 매우 어려울 수 있습니다. 그러나 10 분 안에 GraphQL API를 사용하는 방법을 배울 수 있습니다! 그리고 그것은 완벽하게 얻었습니다

구성 요소 수준 CMS구성 요소 수준 CMSApr 12, 2025 am 11:09 AM

구성 요소가 데이터를 쿼리하는 환경에 거주하면 근처에 사는 경우 시각적 구성 요소와

오프셋 경로로 원에 유형을 설정하십시오오프셋 경로로 원에 유형을 설정하십시오Apr 12, 2025 am 11:00 AM

여기 Yuanchuan의 합법적 인 CSS 속임수입니다. 이 CSS 속성 오프셋 경로가 있습니다. 옛날 옛적에, 그것은 모션 경로라고 불렸다가 이름이 바뀌 었습니다. 나

CSS에서 '리버 트'는 무엇을합니까?CSS에서 '리버 트'는 무엇을합니까?Apr 12, 2025 am 10:59 AM

Miriam Suzanne 은이 주제에 대한 Mozilla 개발자 비디오에서 설명합니다.

현대 애호가현대 애호가Apr 12, 2025 am 10:58 AM

나는 이런 것들을 좋아한다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전