차례:
비디오: 파이썬 게임 만들기 Creating a Python Game with pygame (한글자막) 2024
공간을 살펴보십시오. html. 이 간단한 게임은 HTML5 게임에 사실적인 동작을 적용하는 좋은 예입니다. 고전 게임 소행성 과 우주 비행사로 유명한 제어 구조를 사용합니다! ( 소행성 은 더 잘 알려져 있지만 Spacewar! 는 이전보다 훨씬 더 영향력있는 게임입니다.)
전체 경험을 얻으려면 여기를 클릭하십시오.
게임 객체에 힘 벡터를 추가하는 방법
우주선은 화살표 키로 제어되지만 뉴턴의 효과는 땅보다 공간에서 더 쉽게 볼 수 있습니다. 왼쪽 및 오른쪽 화살표 키는 우주선을 회전 시키지만 우주선의 움직임에는 영향을 미치지 않습니다. 위쪽 화살표는 로켓을 발사하여 우주선이 현재 향하고있는 방향으로 힘 벡터를 추가합니다.
코드는 다음과 같습니다.
space var ship; var 게임; function Ship () {tShip = 새로운 Sprite (게임, "ship.png", 25, 25); tShip. setSpeed (3); tShip. checkKeys = function () {if (keysDown [K_LEFT]) { this. changeImgAngleBy (-5); } (keysDown [K_RIGHT]) { 이 경우. changeImgAngleBy (5); } (keysDown [K_UP]) { 이 경우. addVector (this.getImgAngle (),.1); }} // end function return tShip;} // 객체 정의 함수 init () {game = new Scene (); ship = new Ship (); 경기. setBG ("black"); 경기. start ();} // init 함수를 끝내십시오. update () {game. 명확한(); 배. checkKeys (); 배. update ();} // end update
게임 공간을 시뮬레이트하는 방법
여기에 요약이 있습니다.
-
예제를 일반적인 방법으로 시작하십시오.
대부분의 간단한 게임 데모와 마찬가지로 스프라이트와 장면으로 시작하십시오. 배는 커스텀 메소드를 가지기 때문에, 당신은 그것을 고유 한 객체로 만듭니다.
-
선박에게 checkKeys () 메소드를 제공하십시오.
checkKeys () 메소드는 키 누름을 찾고 그에 따라 배의 동작을 변경합니다.
-
이미지 각도를 변경하십시오.
스프라이트에는 실제로 두 개의 구별 된 각도가 있습니다. 그것은 포인팅하는 각도 (simpleGame에서 imgAngle이라고 함)와 움직이는 각도 (moveAngle)를 가질 수 있습니다. 각도를 변경하면 객체가 직면하는 방향으로 단순히 이동한다는 가정하에 이동 각도와 이미지 각도가 모두 변경됩니다.
간단한 예를 들어 이것은 좋지만, 많은 종류의 모션은 이미지와 모션 각도를 분리해야합니다. changeImgAngleBy () 메서드를 사용하면 모션 각도를 변경하지 않고 이미지가 가리키는 방향을 변경할 수 있습니다. (changeMotionAngle () 메서드도 있지만 매우 자주 사용되지는 않습니다.)
-
추력을 시뮬레이션하는 힘 벡터를 추가합니다.
사용자가 위쪽 화살표를 누르면 선박이 주 로켓을 발사합니다. 이것은 선박이 현재 향하고있는 방향으로 작은 힘 벡터를 추가합니다. 배가 현재 향하고있는 방향을 결정하려면 getImgAngle () 메서드를 사용하고이 값을 사용하여 힘을 추가해야하는 위치를 지정합니다.
이 코드는 애니메이션 루프에서 발생하고 화살표 키를 길게 누르면 증폭되므로 아주 작은 힘만 있으면됩니다.