Project1

标题: 如何去改變圖片的長度? [打印本页]

作者: zeldafd    时间: 2012-12-20 18:39
标题: 如何去改變圖片的長度?
我想做一個角色的血量條, 但我在做的時候出了一個的問題.

即使我知道長度是這樣子:

RUBY 代码复制
  1. @actor_hp = $game_variables[2]
  2. #角色當前HP
  3. @actor_mhp = $game_variables[22]
  4. #角色最大HP
  5. @slot_width = (@actor_hp-@actor_mhp)/@actor_mhp


但是, 我後來在設置新建圖像時不知如何去用Bitmap中的那個width函數, 那段腳本是這樣子的:
RUBY 代码复制
  1. #---------------------------------------------------------------------------
  2. #新建圖像:hp_slot
  3. #---------------------------------------------------------------------------
  4.     $hp_slot = Sprite.new
  5.     $hp_slot.bitmap = Bitmap.new("Graphics/Pictures/hp.png")
  6.     #新增一個Sprite的實例
  7.  
  8.     $hp_slot.bitmap.width=Bitmap.width($hp_slot.bitmap,@slot_width)


他一直說我少了參數...到底參數要放在那裡...?
作者: j433463    时间: 2012-12-21 07:27
本帖最后由 j433463 于 2012-12-21 08:22 编辑

都不知道 Bitmap 居然有 width 这个函数,帮助中只说 width 是获取或设置图的宽度,没有提到有函数参数。

是不是脚本中有 def width 的自定义函数程序?有的话 def width() 括号中就是参数项目。

RUBY 代码复制
  1. $hp_slot.bitmap.width=Bitmap.width($hp_slot.bitmap,@slot_width)



这一行我实在不知道为什么这样写,明明前一行才载入了位图,@hp_slot.bitmap.width 本身已经有值了,

下一行又要赋值给它,改变宽度吗?如果要赋 @hp_slot.bitmap.width 新的值,@slot_width 足够了,

怎么又用参数方式要传回 Bitmap.width 的值给它,这一行怎么看都不对啊。


而且改变血条的宽度也不需要这样,直接改绘制血条那个函数的 width 值就够了,根本不需要这样做,

血槽是图片的话,把血槽图改宽一点就行了。
作者: zeldafd    时间: 2012-12-21 08:24
j433463 发表于 2012-12-21 07:27
都不知道 Bitmap 居然有 width 这个函数,帮助中只说 width 是获取或设置图的宽度,没有提到有函数参数。

...

我是腳本新手啊=.=:

我只是在說明文檔中看到有width,不過,我看不明他有什麼的用法...


但因為我想改變圖片的長度,根據血量去改變,所以我才會這樣試,但試完又不行...



我都看到,Bitmap.new有兩個的說明,一個是Bitmap.new(filename),另一個是Bitmap.new(height,width)。

那是怎樣用的......?
作者: j433463    时间: 2012-12-21 08:47
本帖最后由 j433463 于 2012-12-21 08:51 编辑

晕,你主楼脚本最后一行给的是 Bitmap.width() 啊!默认功能没有这个函数。

如果是 Bitmap.new,你第一个参数有错,至少也应该是 $hp_slot.bitmap.height
因为第一个参数要的是 height 值,没有 .height 得不到它的值。

但也不对,既然要建立 Bitmap 方法,等号前面就不应该加 .width 了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1