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

Project1

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

[已经解决] window_base下面text_size(str)函数调用出错。。求指点

[复制链接]

Lv2.观梦者

梦石
0
星屑
503
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

1
发表于 2012-2-15 14:11:32 | 显示全部楼层
本帖最后由 iisnow 于 2012-2-15 14:13 编辑

注意看Window_Base中text_size的定义:
  1.   def text_size(str)
  2.     contents.text_size(str)
  3.   end
复制代码
在contents存在的基础上(也就是没有dispose的基础上),上述函数才能正常运行……

也就是在create_contents的方法后面添加才有效
可是initialize方法的重定义毕竟麻烦了
于是可以这么改:
  1.   def mpaname_width
  2.     Bitmap.new(1,1).text_size(@map_name).width
  3.   end
复制代码
这样就可以了


还有一个错误就是;
  1. @map_name = $game_map.display_name
复制代码
这句必须在super前面,不然@map_name在mpaname_width方法里面还未定义

  1. class Window_Location < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对象
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     @map_name = $game_map.display_name
  7.     super(0, 0, window_width, fitting_height(1))
  8.     refresh
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 获取窗口的宽度
  12.   #--------------------------------------------------------------------------
  13.   def window_width
  14.     return mpaname_width + 24
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取窗口的宽度
  18.   #--------------------------------------------------------------------------
  19.   def mpaname_width
  20.     Bitmap.new(1,1).text_size(@map_name).width
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新
  24.   #--------------------------------------------------------------------------
  25.   def refresh
  26.     draw_text(contents.rect, @map_name)
  27.   end
  28. end
复制代码
我帖子中要有是不HX的空白,请Ctrl + A
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 12:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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