查看: 1987|回复: 2

[已经过期] 还是脚本,请进看看

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2013-12-11 18:03:48 | 显示全部楼层 |阅读模式

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

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

×
  #--------------------------------------------------------------------------
  # ● 生成描绘用的状态字符串
  #     actor       : 角色
  #     width       : 描画目标的宽度
  #     need_normal : [正常] 是否为必须 (true / false)
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)                          脚本中多次出现text,是什么意思?括号中为什么不是经常的横纵坐标和长宽,是什么量?
    # 获取括号的宽
    brackets_width = self.contents.text_size("[]").width
    # 生成状态名字符串
    text = ""
    for i in battler.states                                                                                    i in battler.states  , I 变量的格式不是 i  in  0...x吗?怎么是这样的?
      if $data_states[i].rating >= 1
        if text == ""
          text = $data_states[i].name
        else
          new_text = text + "/" + $data_states[i].name
          text_width = self.contents.text_size(new_text).width
          if text_width > width - brackets_width
            break
          end
          text = new_text
        end
      end
    end
    # 状态名空的字符串是 "[正常]" 的情况下
    if text == ""
      if need_normal
        text = "[正常]"
      end
    else
      # 加上括号
      text = "[" + text + "]"
    end
    # 返回完成后的文字类
    return text
  end

这个脚本的基本思路我看不懂,到底基本的意思是什么?
梦石
0
星屑
3905
在线时间
1972 小时
注册时间
2013-1-3
回帖
9146
发表于 2013-12-11 19:02:01 | 显示全部楼层
text是状态名,用于显示方面
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复

使用道具 举报

故九江太守

梦石
0
星屑
314
在线时间
2158 小时
注册时间
2012-12-5
回帖
4323
发表于 2013-12-11 19:15:14 | 显示全部楼层
[pre lang="ruby" line="1"]  #--------------------------------------------------------------------------
  # ● 生成描绘用的状态字符串
  #     actor       : 角色
  #     width       : 描画目标的宽度
  #     need_normal : [正常] 是否为必须 (true / false)
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
  #CY 定义名为make_battler_state_text的方法。
  
  # 获取括号的宽
    brackets_width = self.contents.text_size("[]").width
  #CY 先执行contents(作为窗口内容显示的位图),再对其调用text_size方法(取得
  #CY 以draw_text方法描绘字符串 str 的矩形(Rect)。但是,不包含斜体的部分。)
  #CY 然后再对其使用Rect类的width(矩形的宽度)方法,然后再执行它本身,最后再
  #CY 把值赋给变量brackets_width。
  
    # 生成状态名字符串
    text = ""            
    #CY 初始化text变量等于一个空的字符串。
   
    for i in battler.states   
  #CY 先计算表达式battler(battler为函数形参).states,然后针对该对象的每个单
  #CY 元,执行for循环。
  
      if $data_states.rating >= 1   
  #CY 如果对全局变量$data_states调用名为rating的方法。如果值大于等于1,则执
  #CY 行下一句。
  #CY 注释:rating为取得优先级。
  
        if text == ""   
  #CY 如果text的值等于空的字符串。则执行下一句。
  
          text = $data_states.name
  #CY 对全局变量$data_states 调用name方法,并且把值赋给变量text。  
  
        else
  #CY 否则,执行下列语句(即$data_stares.rating的值小于1)。
  
          new_text = text + "/" + $data_states.name
  #CY 将变量text的值加上字符串“/”加上对$data_stares执行name方法的值,
  #CY 最后赋值给new_text。
  
          text_width = self.contents.text_size(new_text).width
  #CY 执行contents它本身,对其执行text_size(new_text),再对其执行width,然后
  #CY 赋值给变量text_width。
  
          if text_width > width - brackets_width
  #CY 如果text_width的值大于变量width(形参)减去变量brackets_width的值。
  
            break
  #CY 跳出循环。
          end
          text = new_text
  #CY 将new_text的值赋给text。
        end
      end
    end
   
    # 状态名空的字符串是 "[正常]" 的情况下
    if text == ""
  #CY 如果text的值为nil(""相当于没有字符串)
  
      if need_normal
  #CY 如果need_normal(形参)的值不为false或者nil的话则执行下一个语句。
  
        text = "[正常]"
  #CY 将字符串[正常]赋值给text。
  
      end
    else
      # 加上括号
      text = "[" + text + "]"
  #CY 将字符串“[”加上变量text的值再加上“]”赋值给text。
  
    end
    # 返回完成后的文字类
    return text
  #CY 返回text的值
  end[/pre]


看完了注释你就明白了←_←

点评

请问,你这个是XP的汉化形式吗?能给我个本吗?  发表于 2013-12-12 15:01

评分

参与人数 1星屑 +120 收起 理由
myownroc + 120 我很赞同

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部