C++ 从零打造《超级马里奥》:会漂移掉头,还带刹车音效 您所在的位置:网站首页 超级马里奥jar C++ 从零打造《超级马里奥》:会漂移掉头,还带刹车音效

C++ 从零打造《超级马里奥》:会漂移掉头,还带刹车音效

2023-03-17 09:40| 来源: 网络整理| 查看: 265

你见过这样的超级马里奥吗?

跑着跑着突然停下来个帅气掉头,“踩”扁“板栗仔”(goomba)时直接“变酷”(得到一副墨镜):

这,就是一位油管博主用 C++ 和 SFML 自己从头制作的红白机版超级马里奥。

C++ 不用介绍,SFML 想必有很多人也熟悉,就是一个用来简化写小游戏或者多媒体应用程序的 API,包括系统,窗口,图形,音频和网络五大模块。

除了常规的功能和操作,你可以加入任何自己喜欢的元素。

由于画面看起来实在太逼真,有人甚至提醒博主:小心“版权狂魔”任天堂来找你哦!

心动么?

你也可以自己做一个~

话不多说,来看教程。

手把手教你用 C++ 打造超级马里奥

一共分为 4 大块。

1、基本控制

设置游戏窗口大小为 256x240。

我们先自己绘制一个留胡子的小伙子 —— 马里奥。

通过函数将它载入程序。

Mario::Mario() :     x(0.5f * SCREEN_WIDTH),     y(0.5f * SCREEN_HEIGHT) {     texture.loadFromFile("Resources/Images/Mario.png");     sprite.setTexture(texture); } void Mario::draw(sf: :RenderWindow& i_window) {     sprite.setPosition(round(x), round(y));     i_window.draw(sprite); }

得到这样的界面:

然后处理地图,由于地图的宽度不同,将它存储为数组向量。

typedef std::vector Map;sf::Texture map_texture; map_texture.1oadFromFile("Resources/Images/Map.png"); Map map(SCREEN_WIDTH/CELL_SIZE); Mario mario; for(unsigned short a = θ; a 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有