Pythonでゲームを作りたい。Pygameでジャンプを実装したい。
でも、どうやって実装すればいいか分からない。
実は、Pygameでジャンプを実装するのは、意外とシンプルです。
この記事では、Python+Pygameでジャンプを実装する方法を、初心者向けにわかりやすく解説します。
✨ この記事でわかること
- Pygameでジャンプを実装する方法
- 重力と速度の扱い方
- 接地判定の実装
- Unityへのステップアップ

Pygameでジャンプを実装するのは、ゲーム制作の基礎を学ぶのに良い方法です。まずは、基本的な実装から始めましょう。
\あなたにピッタリのアクションゲーム制作講座を見つけよう!/
おすすめ第1位
Unity 2Dアクションゲーム
の作り方講座(ロックマン風)
ロックマン風の横スクロールACTをスマホ化・広告実装まで対応。ゲームのリリースまでを見据えた実践的なカリキュラムで、作って終わりにならない一本です。
3D入門に最適
ゼルダ風3Dアクションゲーム
の作り方講座
ゼルダ風の3Dアクションをスマホ対応で作れる入門講座。全16回で初心者でも3Dゲーム開発の基礎からしっかり習得できます。
3プラットフォーム対応
Unity FPSゲームの
作り方講座
FPS・VR・スマホの3プラットフォームに同時対応。1本作るだけで3つのゲームが完成する圧倒的なコスパが魅力の講座です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
Pygameでジャンプを実装する基本

Pygameでジャンプを実装するには、次の要素が必要です。
- プレイヤーの位置(x、y座標)
- 速度(velocity)
- 重力(gravity)
- 接地判定(is_grounded)
これらを組み合わせることで、ジャンプを実装できます。
重要なのは、重力と速度の関係を理解することです。
基本的なジャンプ実装

Pygameでジャンプを実装する基本的なコードを紹介します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import pygame pygame.init() # 画面設定 screen = pygame.display.set_mode((800, 600)) clock = pygame.time.Clock() # プレイヤーの設定 player_x = 400 player_y = 300 player_width = 50 player_height = 50 velocity_y = 0 gravity = 0.5 jump_strength = -10 is_grounded = False ground_y = 500 running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # ジャンプ処理 if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE and is_grounded: velocity_y = jump_strength # 重力処理 velocity_y += gravity player_y += velocity_y # 接地判定 if player_y >= ground_y - player_height: player_y = ground_y - player_height velocity_y = 0 is_grounded = True else: is_grounded = False # 描画 screen.fill((0, 0, 0)) pygame.draw.rect(screen, (255, 0, 0), (player_x, player_y, player_width, player_height)) pygame.draw.line(screen, (255, 255, 255), (0, ground_y), (800, ground_y), 2) pygame.display.flip() clock.tick(60) pygame.quit() |
このコードでジャンプが起こる仕組み
- スペースキーを押した瞬間に、上向きの初速(
velocity_y = -10)を与える - その後は、毎フレーム重力(
gravity)が加算され、少しずつ下向きの速度に変わる - 速度の変化に合わせて
player_yが更新され、ジャンプしているように見える - 地面に触れたら速度を0に戻し、再びジャンプできる状態にする
初心者がつまずきやすいポイント
KEYDOWNは「キーを押した瞬間」だけ反応する- ジャンプ中の動きは、キー入力ではなく毎フレーム実行される処理によって制御されている
jump_strengthがマイナスなのは、画面の上方向が数値的に小さくなるため
このコードでは、スペースキーを押すとジャンプできます。
gravity は重力の強さ、jump_strength はジャンプの高さを決める値です。
最初は数値の意味が分からなくても問題ありません。
これらの値を少しずつ変えながら、ジャンプの挙動がどう変わるかを確認してみましょう。

まずはこのコードをそのまま動かしてみましょう。数値を少し変えるだけでも、ジャンプの感覚が大きく変わるのが分かるはずです。
重力と速度の関係

ジャンプができたら、次は「ジャンプの感触」を変えてみましょう。
実は、ジャンプの高さや滞空時間は、重力と速度のバランスを少し変えるだけで大きく変わります。
ジャンプした瞬間に大きく跳ねるのか、フワッと浮かぶのかは、すべて数値次第です。

この仕組みが分かると、「自分好みのジャンプ」を作れるようになります。
接地判定の実装

接地判定は、プレイヤーが地面に触れているかを判定します。
以下のコードで、基本的な接地判定ができます。
|
1 2 3 4 5 6 7 8 |
# 接地判定 if player_y >= ground_y - player_height: player_y = ground_y - player_height velocity_y = 0 is_grounded = True else: is_grounded = False |
このコードで、プレイヤーが地面に触れているかを判定できます。
is_groundedがTrueの時だけ、ジャンプができるようにします。
これにより、空中ジャンプを防げます。
Unityへのステップアップ

Pygameでジャンプを実装することで、ゲーム制作の基礎を学べます。
ただし、本格的なアクションゲームを作るには、Unityの方が効率的です。
Unityなら、以下の機能が簡単に使えます。
- 物理演算(Rigidbody2D)
- 当たり判定(Collider2D)
- アニメーション(Animator)
- エフェクト(Particle System)
Pygameで基礎を学んだ後、Unityにステップアップするのがおすすめです。
実践的なアクションゲーム制作を学ぶには

ここまで、Python+Pygameでジャンプを実装する方法について解説してきました。
Pygameでジャンプを実装することで、ゲーム制作の基礎を学べます。
ただし、本格的なアクションゲームを作るには、Unityの方が効率的です。
Unity入門の森では、アクションゲームの作り方を、基礎から完成まで丁寧に解説しています。
コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。
アクションゲーム制作に特化した講座なら、効率的にスキルアップできます。
ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。
アクションゲームを作りたいなら!Unity入門の森のアクション制作講座で本格ゲーム開発に挑戦しよう
Unity入門の森には、横スクロール・3Dアクション・FPSまで幅広いアクションゲームを作れる講座が揃っています。作りたいジャンルや目標に合わせて選んでみてください。
Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!スマホ化・広告実装まで対応した本格横スクロールACTを作れる!】

- ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
- 7ステージ+ラスボスステージの市販ゲームに近い本格的なゲーム設計
- スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
- 敵AI15体・多彩なマップギミック・武器システムを完全実装
- 完全オリジナルゲームをアセット不使用で素材提供付きで制作
Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを開発できるようになる本格的な講座です。
ステージ選択・ボスの弱点システム・新武器ゲットというロックマン風のゲーム設計はもちろん、スマホ実機ビルド・AdMob広告実装(リワード・インタースティシャル)まで対応。作って終わりではなく、リリースして収益化するところまで学べます。
書籍や他のチュートリアルでは扱われていないリリースレベルの開発スキルを習得したい人に、自信を持っておすすめできる一本です。
スマホ化・広告実装まで対応した本格横スクロールACT
ロックマン風の2Dアクションゲームをリリースまで作り上げよう
→ Unity 2Dアクションゲームの作り方講座を見てみる
広告収益まで視野に入れた実践スキルを今すぐ手に入れよう!
ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

- ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
- 初心者でも取り組みやすい丁寧な解説構成
- スマホ化対応で実機で動かせるゲームが完成
- 画像・動画・全ソースコード公開の充実したサポート
- アセットを使った実践的なゲーム開発手法が身につく
ゼルダ風3Dアクションゲームの作り方講座は、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを作りたい人におすすめの入門講座です。
3Dゲーム開発の基礎からスマホ化まで全16回でしっかり習得できます。画像・動画・全ソースコードを公開した丁寧な解説で、初めて3Dゲームに挑戦する人でも確実に完成まで到達できる構成です。
「3Dゲームはなんだか難しそう」と感じている人が最初の一歩を踏み出すのに最適な講座です。
初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の第一歩を踏み出そう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
3D開発の壁を一気に突破!スマホで動くオリジナルゲームを完成させよう!
Unity FPSゲームの作り方講座【全17回!FPS・VR・スマホの3プラットフォームを同時に作れる!】

- APEX・バトルフィールド風のFPSゲームをゼロから開発
- FPS・スマホ・VRの3プラットフォームに同時対応
- 書籍では学べないVR対応弓矢FPSのオリジナリティ高い開発手法
- 地上・空中の敵AIや弓矢チャージショットなど本格システムを実装
- 初心者でも安心の丁寧な解説と完成プロジェクトファイル付き
Unity FPSゲームの作り方講座は、APEX・バトルフィールド・Call of Dutyのような一人称視点のFPSゲームを作るための講座です。
弓矢を使ったオリジナリティの高いFPSをベースに、PC・スマホ・VRの3プラットフォームに同時対応した開発手法を全17回で習得できます。VR空間で弓を構えて矢を射るという高度なアクションの実装まで、書籍では学べないスキルが身につきます。
1本の講座でFPS・スマホ・VRを同時に作れるのはこの講座ならでは。3Dゲーム開発の幅を一気に広げたい中・上級者志望の方にもおすすめです。
FPS・スマホ・VRの3プラットフォームを同時に完成させる
1本作るだけで3つのゲームが完成する圧倒的な開発体験を手に入れよう
→ Unity FPSゲームの作り方講座を見てみる
書籍では学べないVR対応FPSで、一歩先の3Dゲーム開発スキルを今すぐ!
まとめ

Python+Pygameでジャンプを実装する方法について解説しました。
要点のまとめ
- Pygameでジャンプを実装するのは、ゲーム制作の基礎を学ぶのに良い方法
- 重力と速度の関係を理解することが大切
- 接地判定を実装することで、空中ジャンプを防げる
- 本格的なアクションゲームを作るには、Unityがおすすめ
基本を押さえれば、あとは応用していくだけです。
まずは、ここで紹介したコードを実際に動かしてみてください。
動かしながら理解を深めていくのが、上達への近道です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント