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

Project1

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

[已经解决] 关于读取备注

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3574
在线时间
2338 小时
注册时间
2015-8-25
帖子
960

开拓者

跳转到指定楼层
1
发表于 2016-9-29 15:00:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请教一下。
  
  如何读取数据库中带有某备注的已持有道具,并存起来?

--

正在写一个道具窗口,功能是只显示数据库中备注有<TYPE_A>的已持有物品。

我的思路是改写:

  def make_item_list
    @data = $game_party.all_items
  end

↓ ↓

  def make_item_list
    @temp_data = 带有备注的物品数据
    @data = @temp_data
  end

--
这个获取的写法不是很清楚。。

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2016-9-29 15:14:41 | 只看该作者
未测试
@data.collect{|i| i.note.include?('<TYPE_A>')}
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3574
在线时间
2338 小时
注册时间
2015-8-25
帖子
960

开拓者

3
 楼主| 发表于 2016-9-29 15:47:26 | 只看该作者
本帖最后由 七重 于 2016-9-30 09:20 编辑
喵呜喵5 发表于 2016-9-29 15:14
未测试
@data.collect{|i| i.note.include?('')}


唔。。貌似不行。

$game_party.all_items里面放的好像只有键值。

--
我现在打算在Game_Party里面定义一个这样的属性。

  def items_type_a
    $krst_data_item = $data_items.select{|x| x.note.include?("<TYPA_A>")}
    @items.keys.sort.collect {|id| $krst_data_item[id] }
  end

我的想法是打算先获取带有备注的数据,再获取这组数据的键值,但是不知为何会出错。

报错,note未定义。

==
追记:
这里真的是完全理解错了。。
  all_item里面的是持有物品的数组。
  而game_party里面的貌似是物品列表
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

4
发表于 2016-9-29 16:57:17 | 只看该作者
不知道有沒有理解錯誤
七重醬這個功能應該是這個方法吧?
  1.   def draw_item(index)
  2.     item = @data[index]
  3.     if item&&item.note.include?('<TYPE_A>')
  4.       rect = item_rect(index)
  5.       rect.width -= 4
  6.       draw_item_name(item, rect.x, rect.y, enable?(item))
  7.       draw_item_number(rect, item)
  8.     end
  9.   end
复制代码

评分

参与人数 1星屑 +250 梦石 +1 收起 理由
RaidenInfinity + 250 + 1 楼主认可的解答

查看全部评分

2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3574
在线时间
2338 小时
注册时间
2015-8-25
帖子
960

开拓者

5
 楼主| 发表于 2016-9-29 19:59:51 | 只看该作者
QQ蚊子湯 发表于 2016-9-29 16:57
不知道有沒有理解錯誤
七重醬這個功能應該是這個方法吧?

看來我最初的思路就錯了呢。。

按你寫的現在可以運行了,謝謝解答!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3574
在线时间
2338 小时
注册时间
2015-8-25
帖子
960

开拓者

6
 楼主| 发表于 2016-9-30 11:13:29 | 只看该作者
本帖最后由 七重 于 2016-9-30 12:49 编辑

仔细一看还是不对。。。如果不在对@data赋值之前就处理好数据的话,会在物品栏中描画出空格(不止一个的物品的情况下)。。

按照原来的想法新定义了一个

RUBY 代码复制
  1. def all_items_TYPE_A
  2.     a = items.size
  3.     e = 0
  4.     c = 0
  5.     d = []
  6.     loop do
  7.       b = items[e]
  8.       if b.note.include?("<TYPE_A>")
  9.         d[c] = b
  10.         c += 1
  11.       end
  12.       e += 1
  13.       if e == a
  14.         break
  15.       end
  16.     end
  17.     p e
  18.     p c
  19.     return d
  20.   end


终于可以了。。。

点评

言重言重了0v0/  发表于 2016-9-30 17:05
抱歉抱歉!直覺上覺得是繪製的問題~自己試寫看到物品不見就想說好了(土下座)  发表于 2016-9-30 15:19
QAQ感谢指正。。当我发现又犯了这种错误时已然泪崩  发表于 2016-9-30 12:52
if e = a 改成 if e == a  发表于 2016-9-30 12:15
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 03:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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