我在创建一个数组时遇到问题,该数组可以提供有关彼此绘制的2个图像的信息。
我所拥有的是作为背景(海洋)的1幅图像和作为前景(风景)的1幅图像,景观不像海洋那么大,所以当相互绘制时,您可以看到大海和景观它
现在我想创建一个数组,如果它是大海则设置为0,如果是风景则设置为1。所以我可以使用 这个数组稍后会做一些碰撞检测。问题是我没有找到如何从中生成一个bytearray。 关闭长度*图像的宽度。
我在QImage中有两个图像,但我没有找到如何使用for循环或其他东西创建数组。
使用QPainter功能将两个图像相互绘制。
有人可以帮助我吗?
亲切的问候,
答案 0 :(得分:0)
如果您使用QPainter类将两个图像相互绘制,则会丢失有关它们的任何信息,它们现在只是 图纸。您必须创建方法和对象来实现您的学校项目。我知道您不能使用QGraphicsView,但您需要的是看 qgraphicsview如何工作,这样您就可以获得有关如何实现自己的碰撞系统的一些信息。
1 - 您需要将绘图的Retangle(所有这些)保存在某个地方。一个QList会做。
2 - 你也需要你的绘画位置,所以你知道它们在哪里,除了重新校正。
使用位置和矩形,您需要做的就是检查一个矩形是否与另一个矩形相交。
答案 1 :(得分:0)
我用2 for for循环并用黑色和蓝色来确定前景和背景。所以我只能使用黑色和蓝色。