赞 | 8 |
VIP | 1 |
好人卡 | 6 |
积分 | 204 |
经验 | 289801 |
最后登录 | 2022-6-2 |
在线时间 | 88 小时 |
Lv5.捕梦者 御灵的宠物
- 梦石
- 12
- 星屑
- 8438
- 在线时间
- 88 小时
- 注册时间
- 2006-12-11
- 帖子
- 3148
|
def draw_triangle(x1,y1,x2,y2,x3,y3,color=Color.new(0,0,0,255))
triangle=Sprite.new
triangle.bitmap=Bitmap.new(640,480)
x=0
k1=(y2-y1)*1.0/(x2-x1)
k2=(y3-y1)*1.0/(x3-x1)
k3=(y3-y2)*1.0/(x3-x2)
height=1
for x in x1..x2
y = (x-x1)*k1+y1 #求出点
height = (x-x1)*k2+y1-y
if height < 0
y+=height
height = 0 - height
end
triangle.bitmap.fill_rect(x, y, 1, height, color)
end
for x in x2..x3
y = (x-x2)*k3+y2
height = (x-x1)*k2+y1-y
if height < 0
y+=height
height = 0 - height
end
triangle.bitmap.fill_rect(x, y, 1, height, color)
end
end
大概是这样。
不过这个东西有点局限性,x1,x2,x3必须从小到大,y坐标则没所谓
LZ看懂的话就自己改吧=v=
P。S 我又犯了白痴错误……竟然用int来算斜率……orz||| |
|