查看: 2494|回复: 2

[已经过期] 文章换行光标显示

[复制链接]
梦石
0
星屑
50
在线时间
322 小时
注册时间
2011-6-24
回帖
133
发表于 2014-8-19 22:43:21 | 显示全部楼层 |阅读模式

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

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

×
  1.         # 另起一行文字的情况下
  2.         if  c == "\n"
  3.           # 刷新选择项及光标的高
  4.           if y >= $game_temp.choice_start
  5.             @cursor_width = [@cursor_width, x].max
  6.           end
  7.           # y 加 1
  8.           y += 1
  9.           x = 0
  10.           # 移动到选择项的下一行
  11.           if y >= $game_temp.choice_start
  12.             x = 8
  13.           end
  14.           # 下面的文字
  15.           next
  16.         end
复制代码
为什么 我把  if  c == "\n"换成   if x >= 450 选择项就不见了  我想让他 自动换行 和 有★也可以换行 要怎么做
梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
回帖
996
发表于 2014-8-19 22:54:12 | 显示全部楼层
有★的话
就是if  c == "★"
而你所说的自动换行,应该是计算字符窜的长度@cursor_width,而不是x
x是坐标,也可以说是这一行文章显示的起始位置
至于自动换行的话,建议还是修改字体大小比较来的直接点
把字体调小一点,这样你怎么打字,在事件中的宽度能放下的字符绝对不会超出游戏中文本框的宽度。
因为计算@cursor_width的宽度,要算上窗口的边缘,要算上字体大小,要算上字体间隔距离
总之很麻烦就是了。
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2014-8-20 02:19:32 | 显示全部楼层
第一行换成
if  c == "\n" or c == "★" or x + self.contents.text_size(c).width >= self.width - 40

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部