在Pygame上如何在两点之间画一条带有指向和大小动态缩放的箭头
参考链接https://www.cnpython.com/qa/876038 评论区一位博主的分享,自己也做了一些自己想要的效果,朋友们可以根据需要自提。
下面直接上代码,各位朋友也可以根据自己实际需要其中相关数值进行优化。
# my paper in CSDN in 12.14 2022
# created by Red#Cat in CSDN and refer to this link "https://www.cnpython.com/qa/876038"
import pygame as pg
import math as m
import sys
import random
def arrow(screen, lcolor, tricolor, start, end, thickness=2):
# trirad: 决定箭头三角形的大小,这里与原文作为参数传递不同,详见下方该值的初始化
line_length = m.sqrt(m.pow(end[1] - start[1], 2) + m.pow(end[0] - start[0], 2))
trirad = int(line_length * 1 / 10) # 1/10数值可更换其他数值,trirad这里根据所绘箭头长度实现动态缩放其箭头三角的大小(且有上下限阈值)
if trirad < 5: # 增加下限阈值
trirad = 8
if trirad > 10