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

Project1

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

[已经解决] 关于在状态窗口中显示技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
476 小时
注册时间
2011-3-22
帖子
46
跳转到指定楼层
1
发表于 2012-10-5 22:13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想在状态窗口中显示该角色在1-14号技能中已经学会的技能,用了这样的写法,
  1. def draw_skill_list(x, y)
  2.     self.contents.font.color = system_color
  3.     self.contents.draw_text(x, y, 120, WLH, "技能")
  4.     for i in 1..14
  5.       @actor.skill_learn?( $data_skills[i])
  6.       draw_item_name($data_skills[i], x + 20, y + WLH * i)
  7.     end
  8.   end
复制代码
可是这样的话如果中间有一个技能没学的话,就会空一行,求教正确的写法。
谢谢。

点评

偏简单的饭菜,大家先抢吧。  发表于 2012-10-5 22:48

Lv4.逐梦者 (超级版主)

嗜谎者

梦石
2
星屑
17432
在线时间
3911 小时
注册时间
2010-9-12
帖子
9654

极短25评委极短24评委极短23评委极短22评委极短21评委开拓者

2
发表于 2012-10-7 20:48:45 | 只看该作者
不要做成每个输出一次,而是加判定,如果没有学会就不输出值跳转下一个继续。

点评

那个,我知道每次都输出会产生空行,可是不明白怎么改... ...请原谅我这个新得不能再新的新手吧。能不能给个具体的答案呢?万分感谢。  发表于 2012-10-9 21:50

评分

参与人数 2星屑 +82 收起 理由
咕噜 + 80 精品文章
怪蜀黍 + 2 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
3
发表于 2012-10-8 09:59:17 | 只看该作者
好吧,每个人都不要,我就捡走了。
首先LZ漏掉了一个地方,在Window_Status中
  1.   def refresh
  2.     self.contents.clear
  3.     draw_actor_name(@actor, 4, 0)
  4.     draw_actor_class(@actor, 128, 0)
  5.     draw_actor_face(@actor, 8, 32)
  6.     draw_basic_info(128, 32)
  7.     draw_parameters(32, 160)
  8.     draw_exp_info(288, 32)
  9.     draw_equipments(288, 160)
  10.     draw_skill_list(0,200)       ########需要添加的。
  11.   end
复制代码
第二个地方,
  1. def draw_skill_list(x, y)
  2.     self.contents.font.color = system_color
  3.     self.contents.draw_text(x, y, 120, WLH, "技能")
  4.     for i in 1..14
  5.       @actor.skill_learn?( $data_skills[i])
  6.       draw_item_name($data_skills[i], x + 20, y + WLH * i)
  7.     end
  8.   end
复制代码
LZ你的原代码,
将这几句
  1.     for i in 1..14
  2.       @actor.skill_learn?( $data_skills[i])
  3.       draw_item_name($data_skills[i], x + 20, y + WLH * i)
  4.     end
复制代码
改成
  1.     for i in 1..14
  2.        if  @actor.skill_learn?( $data_skills[i])
  3.       draw_item_name($data_skills[i], x + 20, y + WLH * i)
  4.        end
  5.     end
复制代码
这样就行了~~~

点评

嗷呜,我看错了LZ的要求  发表于 2012-10-8 14:14
嗷呜,目测如果技能没有学会的话依旧会有空行。如果skill_learn?才draw,而i每次都+1,y是每次都要加WLH * i的,这样理论上是有空行的。没测试,目测。  发表于 2012-10-8 13:40

评分

参与人数 1星屑 +200 收起 理由
咕噜 + 200 精品文章

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
476 小时
注册时间
2011-3-22
帖子
46
4
 楼主| 发表于 2012-10-9 21:42:40 | 只看该作者
a364774426 发表于 2012-10-8 09:59
好吧,每个人都不要,我就捡走了。
首先LZ漏掉了一个地方,在Window_Status中第二个地方,LZ你的原代码,
...

您说的那个def refresh的地方我是加了的,只是跟问题没关系就没写。
嗯,按您说的改了之后的确还会有空行,不过还是谢谢您的解答。{:2_249:}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 06:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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