当前位置:  开发笔记 > 编程语言 > 正文

如何绘制线 - 不是在画布上,只是对象?

如何解决《如何绘制线-不是在画布上,只是对象?》经验,为你挑选了1个好方法。

我将我的游戏移植到QML并且有一个困难.看这张图片:

用矢量精灵

三角形是一个精灵,线条是力矢量.我可以在QML中显示精灵,但我无法理解如何绘制矢量.它的长度可以超过精灵大小.

我想我可以用Rectangleheight的1px的,但我不知道如何将它旋转.

力量可以在每帧变化,因此绘图性能必须良好.



1> dtech..:

如果您不想使用Canvas,有几个选项:

实现QQuickPaintedItem- 它使用QPainterAPI来绘制QML项目.最简单的解决方案,但如果您进行大量绘图则效率不高.

实现自定义QQuickItem- 它更复杂,你将不得不实现额外的东西,但它会更快,因为它将使用scenegraph API,因此你的渲染将被优化

使用该Qt3D模块,虽然它是用于3D图形,但它也能够进行2D绘图.

最后,显然你可以通过创建一个非常窄而宽的线来绘制一条线Rectangle并给它一些旋转.但这是一个非常笨拙的解决方案.我建议你研究第二个选项,并检查一些示例,QQuickItem使用自定义几何和着色器实现.这是一个类似的例子.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有