安卓怎么设计六边形的游戏背景
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓怎么设计六边形的游戏背景相关的知识,希望对你有一定的参考价值。
两者结合:重载一个ImageView,在onDraw()方法中绘制六边形,用drawPath()绘制,用drawBitmap()绘制中间图像,还可以用drawText()绘制文字,其他部分设为透明。在RelativeLayout中添加这样的对象,设置好起点位置,让六边形的边正好重叠在一起即可~~~为重载的ImageView设置点击响应事件,改变颜色等 参考技术A 我的思路:自定义对象用Path对象绘制出六边形(笔者做过绘制三角形)在onDraw()中显示六边形,并在其中分别调用drawPath()和drawBitmap()绘制六边形和其中的图像触摸点击等等都要涉及到改变onDraw()中的六边形状态本回答被提问者采纳 参考技术B 另一种更简单的思路:六边形是包裹在一个正方形容器中,中间的图片居中显示,正方形除了六边形那部分都是透明的。布局是RelativeLayout或者FrameLayout,设定好每个容器的位置即可~~使用 Qt 和 C++ 开发游戏
【中文标题】使用 Qt 和 C++ 开发游戏【英文标题】:Using Qt and c++ in developing a game 【发布时间】:2014-03-12 19:22:49 【问题描述】:我一直在寻找几个小时来解决我的问题。 我正在尝试使用 Qt 和 c++ 开发游戏,该游戏使用六边形瓷砖,它是一款棋盘游戏。我对 Qt 很陌生,我想知道是否有办法给木板拍照并绘制出六边形的 x、y 坐标(它是一个大六边形中的 64 个六边形,一边有 5 个六边形) 以便我可以将可移动对象分配给六边形(将游戏块从一个六边形移动到另一个六边形)。
我看过 Qgraphicsscene 和 Qgrapgicsview,但是有没有更简单的方法来进行板的映射?
为我指明正确的方向会很有帮助..
【问题讨论】:
通过一些基本的数学运算,您可以计算出六边形中心的真实坐标。由于您没有指定您使用的坐标系,因此我们无法为您提供帮助。我也不确定这是否真的是你的问题? 在 Qt 中使用 OpenGL 怎么样?有一些额外的初始工作,但您可以使用不同的坐标系并使用不同的 3D 视图显示电路板。 为您的程序生成的电路板拍照可能不是一个好的开始 【参考方案1】:我建议您使用 QML(Qt 元语言或 Qt 建模语言),它是一种类似于 Java 脚本的声明性语言,用于设计程序的丰富用户用户界面:包括外观和行为方式。您可以使用矢量和光栅图像,它具有许多易于使用的功能,使您能够制作出色的动画。大多数使用 Qt 开发的 Android 应用程序都使用 QML。
【讨论】:
【参考方案2】:更新:我开始对此进行演示。我让它绘制六边形,并在悬停时突出显示它们。
https://github.com/peteristhegreat/Hexagons
(更新结束)
您可能需要考虑使用QGraphicsView
。
http://qt-project.org/doc/qt-5.0/qtwidgets/graphicsview.html
如果您查看六边形网格的外观,您可以很容易地将每个六边形的中心映射到 2d、x-y 坐标平面。
如果您使用QPolygon
或QGraphicsPolygonItem
,您可以很快上手。
http://qt-project.org/doc/qt-5.0/qtwidgets/qgraphicspolygonitem.html#details
查看上图,您只需要创建一个过滤器,该过滤器只允许对象落在您的 xy 网格上,其中出现六边形中心,而不是其他任何地方。
希望对您有所帮助。
【讨论】:
以上是关于安卓怎么设计六边形的游戏背景的主要内容,如果未能解决你的问题,请参考以下文章