谷歌地图吃豆人[关闭]
Posted
技术标签:
【中文标题】谷歌地图吃豆人[关闭]【英文标题】:Google Maps Pac-Man [closed] 【发布时间】:2017-04-25 18:47:42 【问题描述】:我有一个大学项目,我应该在谷歌地图上制作吃豆人游戏,这意味着游戏应该在谷歌地图上找到你的位置,并使用地图中的街道作为游戏地图(如下图所示)。 enter image description here
我只能使用 C++ 和 Python ,我可以使用 Qt 来制作 GUI。 我想我应该使用 Goole Maps API,但我不知道如何使用它。 我不知道如何开始这个项目,我想知道是否有人可以提供帮助。
感谢您的帮助。
【问题讨论】:
欢迎来到 ***!您的问题在国外很重要,因此在这里得到答复。请自行尝试,并针对您的尝试提出具体问题。 【参考方案1】:将问题分解成更小的部分,直到你可以开始编写代码为止。
为 Qt 或 python 找到一个 pacman 克隆。
我还会确保您了解节点和迷宫生成。
JSON 接口
地图 API 可能会使用大量 JSON。任一研究:http://doc.qt.io/qt-5/qtcore-json-savegame-example.html
如果您使用 QML/javascript,请使用 var map_data = JSON.parse(reply);
研究 google maps api 以及如何获取您想要的数据。然后使用 QDebug 语句将数据打印到控制台。
图形
在几乎任何图形包中,包括 Qt,您都需要考虑层并从下到上绘制元素。 Qt Widgets 框架、Qt Graphics View 框架或 QML 框架都非常适合绘制这些类型的东西......
基于 QWidget 或基于 QGraphicsItem
底部(先绘制)
Google 地图图像 -> 存储在 QImage 或 QPixmap 或painter.drawPixmap() 或 QGraphicsPixmapItem() 中 Google 地图路径/道路 -> QGraphicsPolygonItem 或 QPainterPath 或 QLine 或 QGraphicsLineItem 黄点 ->painter.drawEllipse() 或 QGraphicsEllipseItem Pacman ->painter.drawArc() 或 QGraphicsEllipseItem 鬼 ->painter.drawPixmap() 或 QGraphicsSvgItem顶部
使用 QGraphicsColorizeEffect 可以让子元素很好地着色或闪烁。
可以使用 QPropertyAnimations 为运动设置动画。
如果您正在考虑部署到移动/智能手机或平板电脑,那么 QML 是首选选项。查看 QML 游戏的 v-play 中的示例。下载 v-play sdk,然后查看它包含的所有示例。塔防游戏大概和你这里做的差不多吧。
QML 中的元素与其他 Qt 类相似,但对 OpenGL ES 2 更加友好,并且可以在移动平台上更快地呈现和运行。
QML 元素
底部(先绘制)
谷歌地图图片 -> 图片 Google 地图路径/道路 -> 路径 黄点 -> 矩形 高度:宽度; radius: width*.5 (圆角矩形) 吃豆人 -> PathArc 鬼 -> 图像顶部
着色或 HueSaturation 元素以更改图像的颜色。
http://doc.qt.io/qt-5/qtquick-usecase-animations.html 了解如何制作动画。
更多链接
https://qmlbook.github.io/
http://doc.qt.io/qt-5/classes.html
https://v-play.net/
https://developers.google.com/maps/
https://www.google.com/search?q=maze+in+qt
https://www.google.com/search?q=pacman+in+qt
How to add Google Maps in my application in Qt?
希望对您有所帮助。
【讨论】:
以上是关于谷歌地图吃豆人[关闭]的主要内容,如果未能解决你的问题,请参考以下文章