游戏编程概述

本文介绍了游戏开发中的关键概念——游戏循环和帧率。游戏循环是游戏程序持续运行的基础,每一帧都包括处理输入、更新游戏世界和生成输出等步骤。以60帧/秒的帧率运行游戏,可以实现流畅的视觉效果。伪代码展示了《吃豆人》游戏循环的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 设置开发环境

        集成开发环境(IDE):集成开发环境的优点是,除了提供文本编辑功能,还能提供代码自动完成和调试功能。

        windows:visual Studio

        macOS:Apple Xcode

1.4 . 游戏循环和Game类

        游戏程序和其他程序之间的最大不同在与:只要游戏程序在运行中,每一秒都需要对游戏进行多次更新。游戏循环是用于控制整个游戏程序整体流程的一个循环。像其他循环一样,游戏循环具有在每次循环时要执行的代码,并且游戏循环具有循环条件。对于游戏循环,只要玩家没有退出游戏程序,循环就得持续运行。

        游戏循环的每一次迭代就是一帧。如果游戏以60帧/秒(FPS)的帧率运行,则意味着,每一秒,游戏循环都会完成60此迭代。许多实时游戏都是以30帧/秒(FPS)或60 帧/秒(FPS)的帧率运行。通过每秒运行多次迭代,即使只是定时更新,游戏仍会给人一种连续运动的错觉。术语“帧速率”可与帧频(FPS)互换使用,即“60帧速率”跟“60帧/秒(FPS)”所表达的意思相同。 

1.41   关于 “ 帧 “ 的理解

在较高层面上,游戏会在每一帧执行一下步骤:

1. 处理任何输入:

        清除的表明要检测来自各种设备的任何输入,包括键盘、鼠标或控制器等,但这些输入可能并不是游戏的唯一输入,考虑一个支持多玩家在线模式的游戏,在这种情况下,通过互联网接收的数据作为游戏输入。在某些类型的手机游戏中,另外的一种输入可能是相机所能拍摄到的内容,或者也可能是全球定位系统(GPS)信息。最终,游戏的输入取决于游戏的类型和其所运行的平台。

2. 更新游戏世界:

        指的是仔细检查游戏世界中的每个对象,并根据需要对其进行更新。这可能会涉及数百甚至数千个对象,包括游戏世界中的人物、用户界面部分,以及影响游戏的其他对象——即使这些对象是不可见的。

3. 生成任何输出:

        最明显的输出是图形。但是还有其他输出。例如音频(包括音效、音乐和人物对话)。

 

/*
《吃豆人》游戏循环伪代码
*/

void Game::Runloop()
{
    while (!mShouIdQuit)
    {
        JoystickData j = GetJoystickData();

        UpdatePlayerPosition(j);

        for (Ghost& g : mGhost)
        {
            if (g.Collides(player))
            {

            }
            else
            {
                g.Update();
            }
        }

        RenderGraphics();
        RenderAudio();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值