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

Project1

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

[已经解决] $game_actors这个是数组么?如果我想取$game_actors都有多少个角色该如何做?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
40 小时
注册时间
2005-12-30
帖子
41
跳转到指定楼层
1
发表于 2012-10-8 19:23:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
$game_actors.size和$game_actors.length都不行啊……

我想取现在所有设定的角色的个数。
例如 $actor_fighted=Array.new($game_actors.length)

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2012-10-8 21:00:34 | 只看该作者
  1. p $data_actors.size - 1
复制代码
因为数组第0个元素是nil,所以要减1。
$game_actors是以个自定义的类,该类的名称就叫Game_Actors。
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
40 小时
注册时间
2005-12-30
帖子
41
3
 楼主| 发表于 2012-10-8 21:31:33 | 只看该作者
protosssonny 发表于 2012-10-8 21:00
因为数组第0个元素是nil,所以要减1。
$game_actors是以个自定义的类,该类的名称就叫Game_Actors ...

好像不是这个问题,我用p $game_actors,显示是nil

我这段是写在一个类的初始化当中的,是不是不应该放在这里?

我的目的是给$game_actors里每个项目多做一个记号来记录角色战斗了几次。就想根据$game_actors的长度建立一个新数组,然后在这个数组用id来定位。

点评

我的脚本是$data_actors,不是$game_actors  发表于 2012-10-8 21:37
$game_actors为nil应该就是没有初始化完成就被p了。  发表于 2012-10-8 21:36
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
40 小时
注册时间
2005-12-30
帖子
41
4
 楼主| 发表于 2012-10-8 21:43:48 | 只看该作者
  1.   def draw_item(index)
  2.     rect = item_rect(index)
  3.     self.contents.clear_rect(rect)
  4.     actor = @data[index]
  5.    
  6.     if $actor_fighted == nil
  7.       #以ACTORS数组大小生成新数组
  8.       p $game_actors
  9.       
  10.       #自行计算ACTOR长度
  11.   #~     actors_size = 0
  12.   #~     for i in $game_actors
  13.   #~       actors_size += 1
  14.   #~     end
  15.       
  16.       $actor_fighted=Array.new($game_actors.size)#(actors_size)#
  17.       #将新数组内容均置为0
  18.       for i in $actor_fighted
  19.         i=0
  20.       end
  21.     end
  22.       
  23.     if actor != nil
  24.       if TSRPG::MAP_ACTOR_FORCED[@map_id] != nil and
  25.           TSRPG::MAP_ACTOR_FORCED[@map_id].include?(actor.id)
  26.         self.contents.font.color = knockout_color
  27.         self.contents.draw_text(rect, actor.name + "(强制战斗)")
  28.       elsif TSRPG::MAP_ACTOR_STOP[@map_id] != nil and
  29.           TSRPG::MAP_ACTOR_STOP[@map_id].include?(actor.id)
  30.         self.contents.font.color = crisis_color
  31.         self.contents.draw_text(rect, actor.name + "(禁止战斗)")
  32.       elsif $game_actors[actor.id].hp <= 0
  33.         self.contents.font.color = knockout_color
  34.         self.contents.draw_text(rect, actor.name + "(昏迷 OTL)")
  35.         
  36.       elsif $actor_fighted[actor.id] != 0       #出战一次后休息
  37.         self.contents.font.color = crisis_color
  38.         self.contents.draw_text(rect, actor.name + "(战累了要休息)")
  39.         
  40.       else
  41.         self.contents.font.color = normal_color
  42.         self.contents.font.color.alpha = selected?(index) ? 255 : 128

  43.         self.contents.draw_text(rect, "#{actor.name}(#{$game_actors[actor.id].hp}/#{$game_actors[actor.id].maxhp})")
  44.       end
  45.     end
  46.   end
复制代码
@protosssonny  

我把代码写到这个类的方法里面,然后p $game_actors有显示了,不过$game_actors.size还是不行,显示未定义size

错误信息:
NoMethodError occurred
undefined method 'size' for #<Game_Actors:0x2b4a860>

点评

$game_actors不是数组类,而是Game_Actors类,没有size的方法。而$data_actors是数组,可以用size的方法。  发表于 2012-10-8 21:48
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

5
发表于 2012-10-8 21:46:55 | 只看该作者
zhangmdk 发表于 2012-10-8 21:43
@protosssonny  

我把代码写到这个类的方法里面,然后p $game_actors有显示了,不过$game_actors.size还是 ...

刚才已经说了,$game_actors是以个自定义的类,该类的名称就叫Game_Actors。
p $data_actors.size - 1 才能算出角色的数量。

点评

与我何干。。我在人设……  发表于 2012-10-14 15:25
今天真高兴,喵喵喵~~~[url=home.php?mod=space&username=delv25]@delv25[/url]  发表于 2012-10-14 15:22
问题解决了~~$data_actors才是对的,谢谢哥们。  发表于 2012-10-9 00:19

评分

参与人数 1星屑 +240 收起 理由
咕噜 + 240 认可答案

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 09:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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