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

Project1

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

[已经解决] 为何窗口大小足够,却描绘不下这几个字?

 关闭 [复制链接]

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
跳转到指定楼层
1
发表于 2009-10-8 18:33:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 奶油Da蛋糕 于 2009-10-10 17:16 编辑


鼠标放在血条上,血条下面就显示HP值。
方框是足够大的。
贴上脚本:
  1. class Window_HelpMessage < Window_Base
  2.   def initialize
  3.     super(0,0,640,480)
  4.     self.z = 9994
  5.     self.opacity = 0
  6.     self.windowskin = RPG::Cache.windowskin("005-mxsj.png")   
  7.   end
  8.   def window(x,y,w,h,o)
  9.   self.x = x ; self.y = y ; self.width = w ; self.height = h*2 ; self.opacity = o
  10. end  
  11. def neirong(a)
  12.   self.contents = Bitmap.new(640,480)
  13.   self.contents.font.size = 12
  14.   self.contents.font.color = Color.new(255, 255, 255, 255)
  15.   m = 0
  16.   n = 0
  17.   case a
  18.   when 0
  19.     self.contents.clear
  20.   when 1
  21.   self.contents.draw_number(m,n, $game_actors[1].hp )
  22.   self.contents.draw_text(m,n,4,4,"/",0)
  23.   self.contents.draw_number(m+16+4, n, $game_actors[1].maxhp )
  24. end
  25. end
  26. end
复制代码
  1. class Scene_Map
  2. alias update_cake update
  3. def update
  4.     mouse_x, mouse_y = Mouse.get_mouse_pos
  5.     if mouse_x > (501+63) and mouse_x < (501+130) and
  6.       mouse_y > 3 and mouse_y < 14      
  7.       @helpmessage.window(501+63,14,130-63,18,255)
  8.       @helpmessage.neirong(1)
  9.       else
  10.       @helpmessage.opacity = 0
  11.       @helpmessage.neirong(0)
  12.       end
  13. update_cake
  14. end
  15. end
复制代码
结果鼠标放到血条上面就出现了图片上的情况

把这几个数字往上面移动也显示不全,坐标右边也显示不全,但是窗口大小是足够的。
我爱66RPG,但我讨厌66.

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-3-31
帖子
97
2
发表于 2009-10-8 18:39:27 | 只看该作者
where is the definition of "draw_number"?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
3
 楼主| 发表于 2009-10-8 18:44:54 | 只看该作者
where is the definition of "draw_number"?
龙鑫 发表于 2009-10-8 18:39
  1. class Bitmap
  2.   def draw_number(x, y, nu,pict = RPG::Cache.picture("shuzi"))
  3.     w=pict.width / 10
  4.     h=pict.height
  5.     ce = Rect.new(0,0,w,h)
  6.     nu=nu.to_s
  7.     ar = nu.split(//)
  8.     for i in 0...ar.size
  9.       ar[i] = ar[i].to_i
  10.     end
  11.     for sz in ar
  12.       ce.x = sz * w
  13.       self.blt(x,y,pict,ce)
  14.       x+=w
  15.     end
  16.   end
  17. end
复制代码
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6870
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

4
发表于 2009-10-8 21:59:59 | 只看该作者
@helpmessage.window(501+63,14,130-63,18,255)

最后的结果是 X:564  Y:14 width:67  height:36  opacity:255
去除边框的32像素 能用来显示的是  67-32=35  36-32=4
35,4  这样的大小够你显示?你那张数字图片多大的?











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
5
发表于 2009-10-9 01:25:05 | 只看该作者
度够了 高不够 改高度
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
6
 楼主| 发表于 2009-10-10 17:13:53 | 只看该作者
@helpmessage.window(501+63,14,130-63,18,255)

最后的结果是 X:564  Y:14 width:67  height:36  opacity:255
去除边框的32像素 能用来显示的是  67-32=35  36-32=4
35,4  这样的大小够你显示?你那张数字图片多 ...
后知后觉 发表于 2009-10-8 21:59


哦,是这样的呀,谢谢啦。
原来边框还有32个像素。
如果想要除去这32个像素,让字符显示在边框上,看来字符和边框得分开用两个window写。
谢谢啦。
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6870
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

7
发表于 2009-10-10 18:14:21 | 只看该作者
用sprite一样可以建立bitmap
sprite就没有那个边框











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-2 02:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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