RPG游戏(一)——环境搭建、地图显示
RPG游戏与rogue游戏类似,如经典RPG游戏“口袋妖怪”。我们组选择用Qt开发一个类似的游戏,作为“嵌入式linux开发”这门课的大作业。环境搭建:安装Qt、安装Tiledmap(一款地图编辑器)。地图制作与显示:用tiledmap软件生成地图位置信息——编写Qt代码加载素材——分割素材——按地图位置信息贴图。闲话不多说,下面放代码
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QImage>
#include <QPainter>namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{Q_OBJECT
public:explicit MainWindow(QWidget *parent = 0);~MainWindow();
public:void paintEvent(QPaintEvent *e);
private:Ui::MainWindow *ui;QImage all;QImage tiles[256];
};#endif // MAINWINDOW_H
mainwindow.cpp
<pre name="code" class="cpp">#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
int map_data[] = {71,72,71,72,2,2,202,202,202,0,87,88,87,88,2,2,218,218,218,0,145,146,210,210,71,72,0,0,202,0,161,162,226,226,87,88,0,0,218,0,145,146,210,210,71,72,0,0,0,0,161,162,226,226,87,88,0,0,0,0,0,0,145,146,145,146,0,0,0,0,0,0,161,162,161,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);all.load("C:/Users/jupeizhong/Desktop/Qt/RPG/tiles/TileB.png");for (int i = 0;i < 16;++i)for (int j = 0;j < 16;++j)tiles[i * 16 + j] = all.copy(QRect(j*32, i*32, 32, 32));
}
void MainWindow::paintEvent(QPaintEvent *e)
{QPainter *pa;pa = new QPainter();pa->begin(this);for (int i = 0;i < 10;++i)for (int j = 0;j < 10;++j)if (map_data[i*10+j] != 0)pa->drawImage(j * 32, i * 32, tiles[map_data[i*10+j]-1]);pa->drawImage(0, 0, tiles[18]);pa->end();delete pa;
}MainWindow::~MainWindow()
{delete ui;
}
main.cpp
#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
运行效果:
所用素材,即TileB.png
注:本系列博客所包含素材来源于互联网,请勿用于商业用途。
RPG游戏(一)——环境搭建、地图显示相关推荐
- 强化学习——蛇棋游戏gym环境搭建
强化学习--蛇棋游戏gym环境搭建 学习强化学习精要核心算法与Tensorflow实现这本书中,关于蛇棋游戏利用gym搭建.游戏的规则非常简单,详细请参考冯超的书<<强化学习精要核心算 ...
- 结对-五子棋游戏-开发环境搭建过程
项目名称:五子棋游戏 参加项目人员:李一轩.程吉 环境搭建:下载HBuilder软件,下载Google浏览器:依次安装即可使用 转载于:https://www.cnblogs.com/SirL/p/7 ...
- 01 Roll A Ball 小游戏(环境搭建)
unity 实例 Roll A Ball crtrl +s 保存场景 在assets 1.新建Scenes文件夹 2.保存命名为main场景 环境搭建 1.新建游戏物体Plan (F2 改名为Grou ...
- QQ玩一玩(轻游戏)开发环境搭建与调试
玩一玩开发环境搭建与调试 前言 Android 调试 下载Android Studio 配置环境变量 进入用户当前目录 设置环境变量 设置生效 检查配置是否正常 下载特殊版测试Q 调试时Android ...
- Unity3D游戏制作-----环境搭建
目录 一.环境搭建 1.工具下载(有兴趣可以评论) 2.用户注册 2.添加许可证 3.添加游戏 4.正在下载配置 5.飞机大战游戏(简单版) 6.建模 一.环境搭建 1.工具下载(有兴趣可以评论) 2 ...
- 结对-贪吃蛇游戏-开发环境搭建过程
结对编程成员:赵建辉,马壮 搭建环境: 会 html,css,以及java开发知识. 会应用sublime,dw等编辑软件 编写程序阶段: 1.利用html搭建前端页面,构建游戏的页面框架 2.利用j ...
- 【iOS-cocos2d游戏引擎开发之一】搭建cocos2d游戏引擎环境,创建第一个HelloWorld!...
最近几天仔细了解了iOS游戏开发引擎,常用的cocos2d,Unity引擎,那么Unity是非免费的,而cocos2d则是免费开源的: 最后促使我选择cocos2d的原因有两点: 1.最重要的原因是它 ...
- android游戏开发框架libgdx环境搭建
原文链接: android游戏开发框架libgdx的使用(一)--环境搭建 Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac.Linux.W ...
- 我的世界局域网游戏环境搭建
测试环境win7 64bit 一.软件下载 链接:https://pan.baidu.com/s/14Rl5oMMWIjcEdOO0_m52hA 提取码:9oei 二.服务器软件安装 我的服务器环境 ...
最新文章
- npm包开发测试与发布
- SolverParameter
- 波卡链Substrate (2)系统框架
- C语言图形化编程 【二】
- 严格凸函数充分必要条件_「管理数学基础」3.2 凸分析:凸函数
- mysql常用的存储引擎_Mysql存储引擎
- 基于jsp+mysql的JSP在线水果销售商城系统设计实现
- Go语言11-日志系统客户端相关组件
- phpcms 首页调用不同栏目的指定文章id 的content等内容 - 方法篇
- 常用K线图(蜡烛图)基本概念
- Linux常用的基本命令13
- java安装证书_Java安装证书文件
- 枚举类比较和工具方法
- 浏览器输入URL后,到网页显示,其间发生了什么?
- 旋风加速浏览器安卓android,旋风加速浏览器免费两个小时
- 总结完全二叉树、满二叉树、二叉排序树、二叉平衡树
- 项目管理知识体系的构成-5个过程组,9大知识域
- OceanBase数据库Docker部署文档
- 程序员为什么不写注释
- MC服务器角色背包文件,可穿戴背包配置文件说明 - 可穿戴背包 (Wearable Backpacks) - MC百科|最大的Minecraft中文MOD百科...
热门文章
- 计算机怎样才能不用密码登录运行,电脑开机不用密码就可以自动打开,为什么?...
- 总裁演说思维模式口才训练小方法:主动问候寒暄法
- 【微信小程序系列】微信小程序简单的实现发送订阅信息
- 论文阅读——ACNet:Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks
- 大数据技术的知识图谱
- 0代码定制物联网远程控制APP——物联网平台ThingsCloud简单入门
- Python计算机视觉编程 第一章 基本的图像操作和处理
- 干干!JavaScript学习路线指南,阅读本文即可
- VMware Tools 的dmg格式Download
- 产业主导者洗牌的时间,到了