개인 재정 HTML5 게임에 다중 상태 애니메이션 만들기 하는 방법

HTML5 게임에 다중 상태 애니메이션 만들기 하는 방법

비디오: 파이썬 게임 만들기 Creating a Python Game with pygame (한글자막) 2024

비디오: 파이썬 게임 만들기 Creating a Python Game with pygame (한글자막) 2024
Anonim

이 모든 동작을 HTML5 게임에서 계속 진행하면서 정교한 여러 애니메이션을 원할 것입니다. 언제든지 스프라이트와 연결된 이미지를 변경하기 위해 changeImage () 또는 setImage () 함수 (두 가지 이름이 같습니다)를 사용할 수 있습니다. 때로는 훨씬 정교한 애니메이션이 필요합니다. walkAnim을 한번보세요. html.

이미지 교환 작업이 많이 진행됩니다. 워킹 애니메이션은 실제로 워킹의 환상을주기 위해 빠르게 바꿔 놓은 일련의 8 가지 이미지입니다. 4 가지 애니메이션 (각 추기경 방향마다 하나씩)이 있습니다. 총 32 개의 이미지가 있습니다. 그러나 코드를 살펴보면 문자 스프라이트에는 하나의 이미지 만 포함되어 있음을 알 수 있습니다.

이 이미지는 합성 애니메이션입니다. 각 행은 방향을 나타내며, 각 행에는 반복 될 일련의 이미지 또는 일련의 이미지가 포함됩니다.

rpg_sprite_walk. png 이미지는 Franck Dupont에 의해 작성되었습니다. 그는 관대하게이 이미지를 OpenGameArt에 게시했습니다. org 사이트에서 그는 "Arikel"로 알려져 있습니다. "그는 특별 저작물 인"저작자 표시 - 공유 "와 같은 저작물을 발표했습니다. "이것은 사람들이 원 저작자를 기인하는 한 무료로 작품을 사용하거나 리믹스 할 수 있음을 의미합니다.

배경 이미지는 Hyptosis라는 저자가 작성한 것으로, 같은 사이트에서 공개 도메인으로 이미지를 공개했습니다. Franck 및 Hyptosis와 같은 재능 있고 사려 깊은 기고자는 번성하는 창조적 인 지역 사회의 열쇠입니다. 오픈 게임 아트 사이트를 통해 게임에서 사용하기에 더 좋은 예술 작품을 자유롭게 구경 할 수 있지만 필자가 가치있는대로 작가에게 고맙고 속성을 부여해야합니다.

단순 게임. js 라이브러리에는 멀티 이미지 애니메이션을 아주 쉽게 만들 수있는 기능이 포함되어 있습니다. walkAnim 코드를 살펴보십시오. 어떻게 작동하는지 보려면 html:

walkAnim. html var 게임; var 배경; var 문자; 함수 init () {game = new Scene (); background = new Sprite (게임, "rpgMap.png", 800, 600); 배경. setSpeed ​​(0, 0); 배경. setPosition (400, 300); character = new Sprite (게임, "rpg_sprite_walk.png", 192, 128); 문자. loadAnimation (192, 128, 24, 32); 문자. generateAnimationCycles (); 문자. renameCycles (new Array ("down", "up", "left", "right"))); 문자. setAnimationSpeed ​​(500); // 일시 정지 된 문자를 시작합니다. setPosition (440, 380); 캐릭터. setSpeed ​​(0); 문자. pauseAnimation (); 문자. setCurrentCycle ("down"); 게임.start ();} // init 함수를 끝내십시오. update () {game. 명확한(); checkKeys (); 배경. 최신 정보(); 캐릭터. (keyDown [K_LEFT]) { 문자입니다. setSpeed ​​(1); 문자. playAnimation () 문자. setMoveAngle (270); 문자. setCurrentCycle ("left"); } if (keysDown [K_RIGHT]) {문자. setSpeed ​​(1); 캐릭터. playAnimation () 문자. setMoveAngle (90); 캐릭터. setCurrentCycle ("right");} if (keysDown [K_UP]) {문자. setSpeed ​​(1); 캐릭터. playAnimation () 문자. setMoveAngle (0); 캐릭터. setCurrentCycle ("up");} if (keysDown [K_DOWN]) {문자. setSpeed ​​(1); 캐릭터. playAnimation () 문자. setMoveAngle (180); 캐릭터. setCurrentCycle ("down");} if (keysDown [K_SPACE]) { 문자입니다. setSpeed ​​(0); 문자. pauseAnimation (); 문자. setCurrentCycle ("down"); }}

애니메이션을 제작하려면 몇 가지 새로운 단계를 거쳐야하지만, 그 결과는 그만한 가치가 있습니다.

  1. 애니메이션 이미지를 얻습니다.

    이미지를 직접 만들거나 OpenGameArt와 같은 우수한 리소스를 볼 수 있습니다. org는 다른 사람들이 한 일을 찾습니다. 물론, 당신은 다른 사람의 일을 존중할 책임이 있지만, 오늘날 매우 관대 한 면허에서 가능한 훌륭한 일이 있습니다. 이미지가 행과 열로 구성되고 각 하위 이미지가 정확히 같은 크기인지 확인하십시오.

    이미지를 올바른 형식으로 만들고 각 하위 이미지의 크기를 알 수 있도록 이미지 편집기를 사용해야 할 수도 있습니다.

  2. 애니메이션 이미지를 스프라이트에 붙입니다.

    전체 이미지를 스프라이트에 첨부 할 수 있지만, 한 번에 작은 부분 만 표시하면됩니다. 이것은 많은 이미지로 작업하는 것보다 쉽고 더 효율적입니다.

  3. loadAnimation () 메소드로 애니메이션 객체를 생성합니다.

    객체의 loadAnimation () 메소드를 호출하면 애니메이션 관리에 도움이되는 애니메이션 도구가 생성됩니다. 처음 두 매개 변수는 전체 이미지의 크기 (너비 및 높이)이고 두 번째 매개 변수는 각 하위 이미지의 너비와 높이입니다. 이 값이 잘못되면 애니메이션이 스크롤되는 것처럼 보입니다. 이 값을 올바르게 얻을 때까지 계속 플레이하십시오:

    . loadAnimation (192, 128, 24, 32);
    
  4. 애니메이션주기를 만듭니다.

    각 행은 애니메이션주기로 바뀝니다. 기본 버전 (매개 변수없이)은 대부분의 상황에서 정상적으로 작동합니다. 이 도구의 고급 사용법은

    문자를 참조하십시오. generateAnimationCycles ();
    
  5. 사이클의 이름을 바꿉니다.

    buildAnimationCycles () 명령으로 생성 된 애니메이션에는 기본 이름이 있지만,보다 의미있는 이름을 붙이는 것이 좋습니다. 각 행의 의미를 나타내는 이름을 가진 배열을 추가하십시오:

    문자. renameCycles (new Array ("down", "up", "left", "right")));
    
  6. 애니메이션 속도를 설정합니다.

    애니메이션 속도는 애니메이션 실행 속도를 나타냅니다. 대부분의 어플리케이션에서는 500의 값이 적당하지만이 값을 조정하여 캐릭터의 도보 사이클이 실제로 캐릭터를 추진하는 것처럼 보입니다 (

    문자).setAnimationSpeed ​​(500);
    
  7. 표시 할 사이클을 설정하십시오.

    setCurrentCycle () 메서드를 사용하면 renameAnimationCycles () 단계에서 지정한 이름 중 하나 인

    문자를 사용하여 사이클을 선택할 수 있습니다. setCurrentCycle ("down");
    
  8. pauseAnimation () 명령을 사용하여 애니메이션을 일시 중지합니다.

    pauseAnimation () 명령은 애니메이션을 일시적으로 정지시킵니다.

  9. playAnimation ()을 사용하여 애니메이션을 시작합니다.

    이 방법은 현재 애니메이션주기를 계속 반복합니다.

알 수 있듯이, 애니메이션은 게임에 엄청난 재미를 더하고 레퍼토리에 롤 플레잉 게임의 전체 영역을 열어줍니다.

HTML5 게임에 다중 상태 애니메이션 만들기 하는 방법

편집자의 선택

WordPress 링크 목록 구성 방법 - 더미

WordPress 링크 목록 구성 방법 - 더미

두 개 이상의 링크 목록을 원할 경우 워드 프레스 대시 보드. 때로는 Blogroll 제목 아래에 큰 링크 목록이있는 것은 너무 일반적이므로 링크를 추가 표제와 함께 표시하려는 경우가 있습니다. 기본적으로 ...

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

시간을 들여 블로그를 운영하면 WordPress 업 로더로 업로드 한 파일을 쉽게 잊어 버릴 수 있습니다. WordPress 미디어 라이브러리를 사용하면 어떤 파일이 업로드 폴더에 있는지 쉽게 찾을 수 있습니다. 이미 업로드 한 이미지, 비디오 또는 오디오 파일을 찾으려면 ...

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

귀하의 워드 프레스 블로그, 그렇지 않으면 그것을 쓰는 시간이 걸리지 않았을 것입니다. WordPress는 검색 엔진에 친숙한 환경을 조성하여 아카이브, 카테고리 및 페이지를 쉽게 탐색 할 수 있도록 해줍니다. WordPress는이 환경에 깨끗한 코드 기반을 제공하여 쉽게 업데이트 할 수 있습니다.

편집자의 선택

Access 2002에서 사라지는 기록의 수수께끼 - 더미

Access 2002에서 사라지는 기록의 수수께끼 - 더미

바로 거기! "그 문장의 핵심 단어는 동사입니다. 왜냐하면 그것은 그 기록이 지금 존재하지 않는다는 것을 나타 내기 때문입니다. 컴퓨터가 알고 있기 때문에 레코드가 어디로 갔는지 정확히 알 수 없으며 컴퓨터는 이러한 세부 사항에 대해 침묵의 코드를 가지고 있습니다. (규칙의 일부입니다 ...

데이터베이스 디자인 - 더미

데이터베이스 디자인 - 더미

여기에는 데이터베이스 디자인의 다섯 가지 계보가 있습니다. 또는 다른 데이터베이스 프로그램. 잘 설계된 데이터베이스는 데이터를보다 쉽게 ​​유지 관리합니다. 그것이 어디에 있는지, 그것이 나타나는 곳이 아닌 곳에 정보를 저장하십시오. 정보를 저장하는 곳은 정보가 나타나는 위치와 아무 관련이 없습니다. 스프레드 시트에서 원하는 위치에 정보를 입력합니다.

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access Table Analyzer는 가져온 스프레드 시트와 같이 지저분한 플랫 파일 테이블을 모든 반복적 인 데이터와 함께 사용하여 효율적인 관계형 테이블 집합으로 변환합니다. 그러나 속담처럼 약속은 깨진 약속입니다. 플랫 파일이 엄격한 규칙을 따르지 않는 한 ...

편집자의 선택

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

좋은 디자인의 향신료지만, 글꼴에 관해서라면, 현명한 디자이너는 충분히 충분한 지 알고 있습니다. 세 가지 서체를 사용하는 경우 인포 그래픽은 몸값 또는 커뮤니티 뉴스 레터처럼 보이게됩니다.

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

에 대한 전반적인 레이아웃 개념화 귀하의 인포 그래픽이 도움이 될 수 있도록 와이어 프레임에서 작업하지만 필수는 아닙니다. 정보를 수집하고 사용할 차트 및 삽화 유형에 대해 알고 있다면 전반적인 테마 또는 특정 레이아웃에 대한 몇 가지 아이디어가있을 수 있습니다. 표시된 주제 ...

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

귀하의 인포 그래픽에 필요한 그림 유형을 와이어 프레임에 배치하십시오. 정확한 게재 위치는이 단계에서는 중요하지 않지만 전체적인 크기와 각 그림 주위의 거리에 대한 느낌을 받기 시작해야합니다. 자리 표시 자 사용 - 대략적인 스케치 또는 더미 ...