프로젝트 소개
Litecanvas는 소형 웹 게임, 프로토타입, 게임 잼, 애니메이션, 크리에이티브 코딩 및 게임 프로그래밍 학습을 목표로 하는 경량 HTML5 캔버스 2D 엔진입니다. 이 프로젝트는 알파 단계로 표시되어 있어 파괴적 변경이 발생할 수 있습니다.
README에 설명된 주요 특징:
- 초소형 크기: 약 4KB minified 및 gzipped.
- 간단한 API: 도형을 그리기 위한 소수의 함수와 유틸리티 헬퍼.
- 사운드 효과를 재생하거나 생성하기 위한 ZzFX 통합.
- litecanvas 키워드로 게시된 플러그인을 통한 확장.
- 게임을 코딩하고 공유하기 위한 웹 플레이그라운드, 오프라인 사용 가능.
시작하기 옵션에는 unpkg 또는 jsDelivr의 직접 HTML 스크립트 태그, Node/NPM 사용자를 위한 ESM 템플릿, 브라우저 플레이그라운드가 포함됩니다. 엔진은 width, height 및 init, update, draw 콜백이 포함된 loop 객체와 같은 구성을 허용하는 litecanvas() 진입점을 노출합니다. update와 draw는 초당 60회 실행되는 것으로 설명됩니다.
API는 다음을 다룹니다:
- 인덱스로 접근하는 기본 4색 팔레트, pal()을 통해 사용자 정의 가능.
- text()를 사용한 텍스트 렌더링, 여러 줄 문자열 포함.
- 도형 그리기: rect, rectfill, circ, circfill, oval 및 ovalfill.
- 문자열로 정의된 스프라이트, 문자는 팔레트 색상에 매핑되고 점은 투명.
- paint()를 통한 오프스크린 이미지 생성, 반복 그리기를 위한 캐시로 유용하며, image()로 로드된 PNG/JPG 파일 그리기.
- 입력 처리: 키보드용 iskeydown, iskeypressed 및 lastkey; 클릭과 터치를 위한 tapped 콜백; 마우스 위치용 MX 및 MY 변수.
- 캔버스 크기, 경과 시간 및 각도 상수를 위한 전역 변수 W, H, T, PI 및 TAU.
프로젝트 사이트의 치트시트에 전체 API가 나열되어 있습니다. 저장소에는 바운싱 볼, 스크롤러, 3D 투영 및 렌더링 벤치마크와 같은 샘플 데모가 포함되어 있으며, samples 폴더에 더 많은 예제가 있습니다. 여러 이미지, 글꼴 또는 오디오 파일을 로드하기 위해 에셋 로더 플러그인이 권장됩니다.
기여 지침은 포크 및 클론, npm으로 의존성 설치, 포맷팅, 테스트 추가, 풀 리퀘스트를 열기 전 테스트 스위트 실행을 다룹니다. 로컬 개발에는 Node.js가 필요합니다. README는 floppy, PICO-8, js13kGames, raylib, p5.js/Processing 및 Pygame Zero를 포함한 영감의 출처를 밝히고 있습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.