设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3031|回复: 2
打印 上一主题 下一主题

[已经解决] 如何绘制一条有一定宽度的渐变直线

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
317 小时
注册时间
2009-1-18
帖子
177
跳转到指定楼层
1
发表于 2012-4-18 18:30:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 Majirefy 于 2012-4-19 23:20 编辑

在Ace中,Window_MapName中定义了一个方法:draw_update(rect)。
想将这个稍微改造一下,实现成一种效果,在地图的名字下面画一条长长的两边都渐变的直线,当然有一定的宽度。
不知道有什么好办法。
自己改造了一下这个方法:
RUBY 代码复制
  1. def draw_background(rect)
  2.     temp_rect = rect.clone
  3.     temp_rect.width /= 2
  4.     temp_rect.y = FONT_SIZE - PADDING
  5.     temp_rect.height = LINE_HEIGHT
  6.     contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
  7.     temp_rect.x = temp_rect.width
  8.     contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  9. end


FONT_SIZE = 36
PADDING = 12
LINE_HEIGHT = 4
两个颜色都是白色:
RUBY 代码复制
  1. def back_color1
  2.     Color.new(255, 255, 255, 220)
  3. end


RUBY 代码复制
  1. def back_color2
  2.     Color.new(255, 255, 255, 0)
  3. end


不知道有什么更好的方法,因为对contents进行渐变填充的话,其最低点的y坐标会和这个窗口的一样,而设想是和文字稍微隔开一点距离。
具体想要的效果如下:

当然背景是透明的,方便看而已
那个直线也是渐变的……(好吧,自己没有用画图软件做出来……)

Lv1.梦旅人

梦石
0
星屑
50
在线时间
112 小时
注册时间
2011-10-6
帖子
182
2
发表于 2012-4-18 19:02:14 | 只看该作者
因为太笨了所以明久君无法理解这一段:
因为对contents进行渐变填充的话,其最低点的y坐标会和这个窗口的一样,而设想是和文字稍微隔开一点距离。


您的意思是空间不够么?可以调大窗口大小,或者增大行距嘛…

点评

嗯,理解正确…… 嘛,表述不明,抱歉~~(鞠躬)  发表于 2012-4-19 00:04
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

3
发表于 2012-4-18 20:11:49 | 只看该作者
本帖最后由 feizhaodan 于 2012-4-18 20:12 编辑

可以试着用@show_count来控制线条宽度。之后一点一点描绘线条的方法也要放在update中。
大致思路:
  1. w = self.width * @show_count / 150 # show_count最大值为150
  2. rect = Rect.new(self.x+self.width/2,self.y+32,w,4)
  3. self.content.gradient_fill_rect(rect,backc1,backc2)
复制代码

点评

嗯,我先试试~~(写入党材料到这么晚T_T)  发表于 2012-4-19 00:09
还有挺多错的,自己改改吧。  发表于 2012-4-18 20:15
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-13 03:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表