| 
 
| 赞 | 4 |  
| VIP | 71 |  
| 好人卡 | 22 |  
| 积分 | 7 |  
| 经验 | 32145 |  
| 最后登录 | 2013-8-9 |  
| 在线时间 | 184 小时 |  
 Lv2.观梦者 天仙 
	梦石0 星屑680 在线时间184 小时注册时间2008-4-15帖子5023 
 | 
| 参考这个脚本吧: http://rpg.blue/web/htm/news633.htm
 
 八云应该看的懂脚本吧?
 这是从上面的脚本提取出来修改的
 
 复制代码class Bitmap
  #--------------------------------------------------------------------------
  # ● 描绘直线   
  #     x1,y1,x2,y2:  直线两端的坐标
  #     width:    宽度  
  #     color:    颜色
  #--------------------------------------------------------------------------
  def drawline(x1, y1, x2, y2, width, color)
    x1 = x1.to_f
    y1 = y1.to_f
    x2 = x2.to_f
    y2 = y2.to_f
    width = width.to_f
    k = (y2 - y1) / (x2 - x1)
    if k.abs > 1
      drawline_x(x1, y1, x2, y2, width, color)
    else
      drawline_y(x1, y1, x2, y2, width, color)
    end
  end
  def drawline_x(x1, y1, x2, y2, width, color)
    l = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 * width / (y1 - y2)
    length = l.abs * 2
    k = (x2 - x1) / (y2 - y1) #x=ky+b
    b = x1 - k * y1
    if l > 0
      for ty in y2.to_i..y1.to_i
        tx = ty * k + b
        fill_rect(tx - l, ty, length, 1, color)
      end
    else
      for ty in y1.to_i..y2.to_i
        tx = ty * k + b
        fill_rect(tx + l, ty, length, 1, color)
      end
    end
  end
  def drawline_y(x1, y1, x2, y2, width, color)
    l = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 * width / (x1 - x2)
    height = l.abs * 2
    k = (y2 - y1) / (x2 - x1) #y=kx+b
    b = y1 - k * x1
    if l > 0
      for tx in x2.to_i..x1.to_i
        ty = tx * k + b
        fill_rect(tx, ty - l, 1, height, color)
      end
    else
      for tx in x1.to_i..x2.to_i
        ty = tx * k + b
        fill_rect(tx, ty + l, 1, height, color)
      end
    end
  end
end
class Window_Try < Window_Base
  def initialize
    super(0, 0, 544, 416)
    refresh
  end
  
  def refresh
    draw_triangle(0, 0, 128, 0, 234, 240, 1, normal_color)
  end
  
  def draw_triangle(x1, y1, x2, y2, x3, y3, width, color)
    self.contents.drawline(x1, y1, x2, y2, width, color)
    self.contents.drawline(x2, y2, x3, y3, width, color)
    self.contents.drawline(x3, y3, x1, y1, width, color)
  end
end
class Scene_Try < Scene_Base
  def start
    @try = Window_Try.new
  end
  def terminate
    @try.dispose
  end
  def update
    @try.update
  end
end
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
 | 
 |