在Pygame上如何在两点之间画一条带有指向的箭头

本文介绍如何在Pygame中根据两点位置绘制带有指向的可动态缩放的箭头。参考了https://www.cnpython.com/qa/876038的讨论,并提供了可优化的代码示例,鼓励读者根据需求调整参数。
摘要由CSDN通过智能技术生成

在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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值