0

タイトルが言ったように、私は pygame ライブラリを使用して python で RPG エンジンを構築しようとしています。簡単なマッピング エンジンを作成できたので、プレイヤー オブジェクトを作成してみることにしました。現在、gameObjects とメイン クラスの 2 つのクラスがあります。「グリッド サーフェス」全体を移動するプレーヤー オブジェクトを作成することができました。私はこのコードを使用してこれを行いました:

    def move(self):
        self.start = time.time()
        self.timeElapsed = time.time()-self.start
        while (self.timeElapsed < .1):
            self.timeElapsed = time.time()-self.start
        self.x += self.movex
        self.y += self.movey

これにより、プレイヤーは選択した速度で移動できるようになり、ゲーム ループ中に呼び出されます。

for event in pygame.event.get():
    (code to make the controls, basically modifies the players movex or movey)
player.move()

これはすべて正常に機能しますが、次に必要なステップは、代わりにプレーヤーをスペース間で「スライド」させることです。つまり、プレーヤーは単に次のスペースにジャンプするのではなく、スペース間をスムーズに移動します。私はばかげたことをいくつか試しましたが、これを行う適切な方法を理解できないようです. ありがとう!

編集: 私が言及するのを忘れていた非常に重要なことは、プレーヤーを表示するときに、x と y を 32 で乗算することです。これにより、32x32 グリッドが作成されます。コードは次のとおりです。

screen.blit(player.img, (player.x*32, player.y*32))
4

1 に答える 1