Project1

标题: 如何获取图片的宽度和高度。 [打印本页]

作者: 277297575    时间: 2011-4-14 22:32
标题: 如何获取图片的宽度和高度。
本帖最后由 277297575 于 2011-4-22 16:15 编辑

就是 如何用脚本获取图片的宽度和高度。
作者: DeathKing    时间: 2011-4-14 22:41
bitmap.height
bitmap.width

bitmap是有效的位图对象。

作者: 一箭烂YiJL    时间: 2011-4-14 22:54
如果你指的是事件图片,
那么必须从Scene_Map、Spriteset_Map加一个公开的实例变量,
才能传达至该位图取得该高度与长度。
作者: 277297575    时间: 2011-4-14 23:49
额,描述不够详细...
比如在地图上显示1号图片,如何获取它的宽和高。
作者: 一箭烂YiJL    时间: 2011-4-15 17:26
先插入这脚本:
  1. class Spriteset_Map
  2.   attr_reader :picture_sprites
  3. end
  4. class Scene_Map < Scene_Base
  5.   attr_reader :spriteset
  6. end
  7. class Game_Interpreter
  8.   def picture_size(index)
  9.     pic = $scene.spriteset.picture_sprites[index-1].bitmap
  10.     if pic.nil?
  11.       return 0, 0
  12.     else
  13.       return pic.width, pic.height
  14.     end
  15.   end
  16. end
复制代码
事件脚本这样:
  1. p picture_size(1)[0]   # 一号图片的长度
  2. p picture_size(1)[1]   # 一号图片的高度
复制代码
但是如果一号图片没有显示,则或取得高度和长度都会为0。
注意:显示图片和获取图片长度高度之间必须等待一帧!
这是因为跟Scene_Map的@spriteset.update有关。




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