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

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

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

비디오: 파이썬 게임 만들기 Creating a Python Game with pygame (한글자막) 2025
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 게임에 다중 상태 애니메이션 만들기 하는 방법

편집자의 선택

PowerPoint 2016의 다른 슬라이드에 하이퍼 링크를 만드는 방법 - PowerPoint 2016의

PowerPoint 2016의 다른 슬라이드에 하이퍼 링크를 만드는 방법 - PowerPoint 2016의

하이퍼 링크는 슬라이드 나 다른 프레젠테이션, Word 문서 나 Excel 스프레드 시트와 같은 다른 유형의 문서를 소환하기 위해 슬라이드를 볼 때 클릭 할 수있는 간단한 텍스트 또는 그래픽 이미지입니다. 하이퍼 링크를 클릭하면 페이지로 연결될 수도 있습니다.

PowerPoint 2007 슬라이드에서 작업 단추를 만드는 방법 - 동작 버튼 배치

PowerPoint 2007 슬라이드에서 작업 단추를 만드는 방법 - 동작 버튼 배치

PowerPoint 슬라이드에서 PowerPoint 슬라이드를 순서에 관계없이 볼 수 있으며 사운드 및 비디오 클립에 액세스 할 수 있습니다. PowerPoint 슬라이드에 단추를 추가하려면 단추를 배치 할 슬라이드로 이동하여 다음 단계를 따르십시오.

편집자의 선택

SAT 연습 문제 : SAT 수학 시험에서 여러 개의 그래프 - 더미

SAT 연습 문제 : SAT 수학 시험에서 여러 개의 그래프 - 더미

를 읽으면 질문이 생길 수 있습니다 하나의 그래프가 아니라 두 개를 포함합니다. 이러한 종류의 질문은 두 가지 그래프 사이의 관계를 탐구하도록 요구합니다. 다른 카운티의 차가운 시리얼 판매를 비교하는 다음 연습 질문에서와 같습니다. 연습 문제 두 가지 질문은 다음을 기반으로합니다 ...

SAT 연습 문제 : Sec, Csc 및 Cot Questions - 더미

SAT 연습 문제 : Sec, Csc 및 Cot Questions - 더미

SOH CAH TOA로 대표되는 삼각 비율의 경우 SAT Math 시험은 세컨드, 코사인 또는 코탄 센트로 작업해야하는 질문이있을 수 있습니다. 다행히도 사인, 코사인 또는 접선의 역수를 찾는 문제 일뿐입니다. 다음 연습 문제는 상호 작전을 수행하도록 요청합니다.

SAT 연습 문제 : 급진주의자를 포함하는 SAT 수학 시험에서 질문을 만났을 때 급식 문제 -

SAT 연습 문제 : 급진주의자를 포함하는 SAT 수학 시험에서 질문을 만났을 때 급식 문제 -

해결 , "9의 제곱근은 무엇입니까? "급진주의자는 그 질문의 한 부분 일 뿐이다. 다음 연습 문제는 위협적으로 보일지 모르지만 급진주의를 해결하는 방법을 알고 있다면 그 문제를 해결할 수 있습니다. 연습 ...

편집자의 선택

흑백 HDR : Photoshop Duotone 도구로 색상 화 - 더미

흑백 HDR : Photoshop Duotone 도구로 색상 화 - 더미

컬러링 (종종 색조 또는 색조라고도 함) 흑백 HDR 이미지는 흑백 이미지보다 하나, 둘 또는 그 이상의 색상을 오버레이하여 결과적으로 노화 또는 기타 창의적인 효과를냅니다. Photoshop에는 Elements (Colorizing, Color Variations 및 Color Layers)와 동일한 기능이 많이 있지만 강력한 제어 기능을 제공하는보다 강력한 사용자 기능이 제공됩니다.

HDR 파노라마의 프레임 혼합 - 더미

HDR 파노라마의 프레임 혼합 - 더미

혼합을 사용하면 Photoshop Elements가 어떻게 서로 다른 레이어를 HDR 파노라마를 만든 다음 합성하여 합성 이미지를 만듭니다. 이 프로세스는 파노라마의 한 프레임에서 어떤 것이 더 좋게 보이지만 그 지점이 다른 요소의 동일한 지점을 선호하도록 요소에 의해 마스크 된 경우에 유용합니다.

매크로 또는 클로즈업 사진 비율 - 대부분의 경우 더미

매크로 또는 클로즈업 사진 비율 - 대부분의 경우 더미

매크로와 클로즈업 사진 사이에는 상관이 없습니다. 피사체에 매우 가까이 다가 갈 수있는 능력이 있으면 작은 세부 사항을 밝히고 더 작은 피사체를 촬영할 수 있지만 피사체에 얼마나 가까이 다가 가느냐는 크기와 메시지에 비례합니다. 더 가까워서 항상 좋은 것은 아닙니다.