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

Project1

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

[已经解决] 計時器前顯示icon

[复制链接]

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

跳转到指定楼层
1
发表于 2016-10-29 09:45:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
有想過draw_icon什麼的,不過...計時器不是窗口吧{:2_254:}
2016/07/17 加入RPG製作,勿忘初衷!

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

4
 楼主| 发表于 2016-10-29 16:50:08 | 只看该作者

成功了! 非常感謝版主樣和蹭得累桑

題外話問一下重繪ICON會很多餘嗎?

点评

我決定改寫重繪了,感覺這樣內存少一點(心理上)  发表于 2016-10-29 22:14
重绘那里为了刷新数字把bitmap内容都清除了,硬要说的话,只把draw_icon放到redraw的最下面就好了,或者redraw的时候bitmap用.clear_rect而不要.clear。  发表于 2016-10-29 19:10
2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

3
 楼主| 发表于 2016-10-29 13:53:52 | 只看该作者
自己嘗試了一下,雖然可以調用但是沒有效果
應該是我姿勢有誤{:2_271:}

RUBY 代码复制
  1. class Sprite_Timer < Sprite
  2.   def create_bitmap
  3.     self.bitmap = Bitmap.new(96, 48)
  4.     self.bitmap.font.size = 32
  5.     self.bitmap.font.color.set(255, 255, 255)
  6.     draw_icon(20,90,48)
  7.   end


点评

!!我發現我不小心把重繪的座標超過了 原來是這樣(眼神死)  发表于 2016-10-29 16:42
試了(20,0,0)也沒有出現{:4_91:}  发表于 2016-10-29 16:40
你先用draw_icon(20,0,0)看看效果怎样 再在位置上做调整呗  发表于 2016-10-29 14:38
啊不对。。。完全看不到了,y已经超出了bitmap的高度了……  发表于 2016-10-29 14:22
应该是有效果的,最右边6像素应该能看到点什么……x应该在bitmap范围以内嘛~~  发表于 2016-10-29 14:21
2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2016-10-29 10:02:24 | 只看该作者
本帖最后由 RaidenInfinity 于 2016-10-29 10:23 编辑

加这个就可以在Sprite_Timer里面调用draw_icon了。

RUBY 代码复制
  1. class Sprite_Timer < Sprite
  2.  
  3.   def draw_icon(icon_index, x, y, enabled = true)
  4.     bitmap = Cache.system("Iconset")
  5.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  6.     self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 160)
  7.   end
  8.  
  9. end


讲真,我感觉Window_Base里面的一些功能嵌进去Bitmap类可能会方便些。(draw_icon, draw_gauge之类的)
把contents换成self就得。

RUBY 代码复制
  1. class Bitmap
  2.  
  3.   def draw_icon(icon_index, x, y, enabled = true)
  4.     bitmap = Cache.system("Iconset")
  5.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  6.     self.blt(x, y, bitmap, rect, enabled ? 255 : 160)
  7.   end
  8.  
  9. end

评分

参与人数 2星屑 +265 梦石 +1 收起 理由
怪蜀黍 + 250 + 1 楼主认可的解答
QQ蚊子湯 + 15 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 01:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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