查看: 3612|回复: 5

[已经解决] [3V]求脚本:自动换行的draw_text

  [复制链接]

八云紫的式神<

梦石
0
星屑
804
在线时间
1247 小时
注册时间
2008-1-1
回帖
3883

烫烫烫

发表于 2009-8-11 17:46:44 | 显示全部楼层 |阅读模式
悬赏3星屑已解决
对默认的draw_text加强
类似这个的http://rpg.blue/viewthread.php?tid=116315
要求:
0.自动换行,不要手动加\n
1.默认的超长自动缩小功能仍然可用(也就是说必须一次描绘一行而不能一个字符一个字符描绘)

最佳答案

查看完整内容

据说要占个楼?
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2009-8-11 17:46:45 | 显示全部楼层
据说要占个楼?

Plus.rar

350.36 KB, 下载次数: 161

菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

八云紫的式神<

梦石
0
星屑
804
在线时间
1247 小时
注册时间
2008-1-1
回帖
3883

烫烫烫

 楼主| 发表于 2009-8-11 18:16:27 | 显示全部楼层
你这还是一个字一个字描绘的啊,如果有宽度不等的字符不会出问题吗
:funk: 发现了大量浮点……于是好像就不会出现问题了……
不过一个字一个字描绘加上大量浮点不知道效率咋样。。。。。。
这是一个很好的思路……
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复

使用道具 举报

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
回帖
859
发表于 2009-8-11 19:56:31 | 显示全部楼层
目前能想到的只有一字一字描绘……
或者换个思路,在窗口刷新时运用:

#--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    s = []
    s = @show_text.scan(/./)
    xx = 4
    yy = 0
    for i in s
      sss = self.contents.text_size(i)
      if (xx + sss.width) > (width - 32)#超过屏幕就换行
        yy += WLH
        xx = 4
      end
      self.contents.draw_text(xx, yy, sss.width, WLH, i)
      xx += sss.width
    end
   
  end


@show_text里存放文字,优点为不是计数,而依窗口宽度决定,不用担心字体大小不一致…缺点也就是执行率了……(不过影响好像也不大。)
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
回帖
2407

第1届Title华丽大赛新人奖

发表于 2009-8-11 20:16:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
回帖
859
发表于 2009-8-11 20:31:27 | 显示全部楼层
自动缩小了还需要自动换行么...反之...
沉影不器 发表于 2009-8-11 20:16


其实我也很想问这个问题……这两者是基本对立而存在的吧……
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部