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

Project1

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

[已经解决] 請問自定義新變量的調用

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
跳转到指定楼层
1
发表于 2012-4-9 23:34:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是我在http://rpg.blue/thread-225983-1-1.html
提問時end55rpg大大替我寫的自定義變量腳本(由衷感謝!!)

(抱歉沒有用代碼框...因為用代碼框發出來的帖會整個白白一片)
class Game_Actor < Game_Battler
      #--------------------------------------------------------------------------
    class Game_Actor < Game_Battler
      #--------------------------------------------------------------------------
      # ● 定义实例变量
      #--------------------------------------------------------------------------
      attr_accessor   :友好度                     # 友好度变量
      #--------------------------------------------------------------------------
      # ● 设置
      #     actor_id : 角色 ID
      #--------------------------------------------------------------------------
    alias old_s setup
    def setup(actor_id)
       old_s(actor_id)
       @友好度 = @友好度.to_i
    end
    end

如果想將這個字定義的變量(友好度)在Window_Status裡面顯示出來請問能夠做到嗎?
以下Window_Status的部分CODE...
# ● 初始化目標
  #     actor : 角色
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 更新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_graphic(@actor, 40, 112)
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 4 + 144, 0)
    draw_actor_level(@actor, 96, 32)
    draw_actor_state(@actor, 96, 64)
    draw_actor_hp(@actor, 96, 112, 172)
    draw_actor_sp(@actor, 96, 144, 172)
    draw_actor_parameter(@actor, 96, 192, 0)
    draw_actor_parameter(@actor, 96, 224, 1)
    draw_actor_parameter(@actor, 96, 256, 2)
    draw_actor_parameter(@actor, 96, 304, 3)
    draw_actor_parameter(@actor, 96, 336, 4)
    draw_actor_parameter(@actor, 96, 368, 5)
    draw_actor_parameter(@actor, 96, 400, 6)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 48, 80, 32, "EXP")
    self.contents.draw_text(320, 80, 80, 32, "NEXT")
    self.contents.font.color = normal_color
    self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 160, 96, 32, "裝備")
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
  end
觀察後猜測...
不知道是不是用"draw_actor_友好度(@actor, XX, YY)"來實現?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
2
发表于 2012-4-10 08:53:31 | 只看该作者
本帖最后由 zhangbanxian 于 2012-4-10 08:54 编辑

- -b话说这@友好度 = @友好度.to_i干嘛的?好歹也得是@友好度 = 0...(这句作用是赋初始值)
你要draw_actor_友好度(@actor, XX, YY)"的话,得自己写个函数,比如
  1. def draw_actor_友好度(actor, x, y)
  2. self.contents.draw_text(x, y, 80, 32,actor.友好度.to_s)
  3. end
复制代码

点评

字符长宽,如果数字较大可以增加宽度...  发表于 2012-4-16 14:21
請問能夠順便說明一下代碼中80, 32,的意義嗎?  发表于 2012-4-10 12:47
感激!!正解了!  发表于 2012-4-10 12:45
好歹当年也当过大魔王过,orz
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-2 11:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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