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

Project1

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

[已经解决] 有关个状态栏的小问题,请教。

[复制链接]

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

跳转到指定楼层
1
发表于 2013-11-24 21:09:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 美丽晨露 于 2013-11-24 22:27 编辑

RUBY 代码复制
  1. class Sprite_States_Icon < Sprite
  2.   def initialize(actor, x, y, view_area)
  3.     super(view_area)
  4.     @back = Sprite.new(view_area)
  5.     @back.bitmap = Cache.system("Statebox.png")
  6.     @back.opacity = 128
  7.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  8.     @states = []
  9.     self.bitmap = Bitmap.new(24 * 4, 24)
  10.     self.x = x
  11.     self.y = y
  12.     @back.x = x
  13.     @back.y = y
  14.     @back.z = 200
  15.     update
  16.   end
  17.  
  18.   def update
  19.     return if @states == @actor.states
  20.     self.bitmap.clear
  21.     count = 0
  22.     @states = @actor.states
  23.     for state in @actor.states
  24.      draw_icon(state.icon_index, x + 24 * count, y)
  25.       count += 1
  26.       break if (24 * count > width - 24)
  27.     end
  28.   end
  29.  
  30.   def draw_icon(icon_index, x, y, enabled = true)
  31.     bitmap = Cache.system("Iconset")
  32.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 96)
  33.     self.bitmap.blt(0, 0, bitmap, rect, enabled ? 255 : 128)
  34.   end


这个是某一个脚本内显示状态的脚本,可是我怎么改都只能显示一个状态。
要不就是改出排列是竖着的状态显示,而且显示的状态图标也不正确。
请问要怎么修改才能达到横着最大排列四个状态,而且是显示正确的哟。

评分

参与人数 1星屑 +20 收起 理由
Luciffer + 20 回馈

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

Lv1.梦旅人

狂気の月兔

梦石
0
星屑
231
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

来自 3楼
发表于 2013-11-24 22:02:28 | 只看该作者
  1. class Sprite_States_Icon < Sprite
  2.   def initialize(actor, x, y, view_area)
  3.     super(view_area)
  4.     @back = Sprite.new(view_area)
  5.     @back.bitmap = Cache.system("Statebox.png")
  6.     @back.opacity = 128
  7.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  8.     @states = []
  9.     self.bitmap = Bitmap.new(24 * 4, 24)
  10.     self.x = x
  11.     self.y = y
  12.     @back.x = x
  13.     @back.y = y
  14.     @back.z = 200
  15.     update
  16.   end

  17.   def update
  18.     return if @states == @actor.states
  19.     self.bitmap.clear
  20.     @states = @actor.states
  21.     x = 0
  22.     y = 0
  23.     @actor.states.each_with_index do |states, count|
  24.       draw_icon(states.icon_index, x + 24 * count, y)
  25.       break if (24 * count > width - 24)
  26.     end
  27.   end

  28.   def draw_icon(icon_index, x, y, enabled = true)
  29.     bitmap = Cache.system("Iconset")
  30.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 96)
  31.     self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  32.   end
复制代码
未测试

评分

参与人数 1星屑 +100 收起 理由
美丽晨露 + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

狂気の月兔

梦石
0
星屑
231
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

2
发表于 2013-11-24 21:29:03 | 只看该作者
怎么感觉你的代码

draw_icon(state.icon_index, x + 24 * count, y)

这句会出错?

点评

脚本执行没有出错的说······  发表于 2013-11-24 21:36
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

4
 楼主| 发表于 2013-11-24 22:13:52 | 只看该作者
铃仙·优昙华院·因幡 发表于 2013-11-24 22:02
未测试

谢谢,但是测试了没有发生改变的说
我附上工程,方便您修改测试吧
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

狂気の月兔

梦石
0
星屑
231
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

5
发表于 2013-11-24 22:17:29 | 只看该作者
里面的 x y 自己改改

点评

感谢的说,已经自行修改完成。  发表于 2013-11-24 22:26
回复 支持 反对

使用道具 举报

Lv1.梦旅人

狂気の月兔

梦石
0
星屑
231
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

6
发表于 2013-11-24 22:29:28 | 只看该作者
美丽晨露 发表于 2013-11-24 22:13
谢谢,但是测试了没有发生改变的说
我附上工程,方便您修改测试吧



替换掉我的脚本之后 , 一切正常的呀

点评

已经修复了,谢谢提醒。  发表于 2013-11-24 22:30

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 00:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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