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

Project1

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

[已经解决] 为什么没有迭代却提示无法在迭代内插入值

[复制链接]

Lv2.观梦者

梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
帖子
34
跳转到指定楼层
1
发表于 2019-8-9 08:53:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 jeffice0325 于 2019-8-9 11:36 编辑


RUBY 代码复制
  1. module PSCL
  2. module EVENT
  3.   @whouse=[]
  4.   def self.geteventname(evt)
  5.     evt.instance_variable_get("@event").instance_variable_get("@name")
  6.   end
  7.   def self.seteventxyid(evt,x,y,id)
  8.     evt.instance_variable_get("@event").instance_variable_set("@x",x)
  9.     evt.instance_variable_get("@event").instance_variable_set("@y",y)
  10.     evt.instance_variable_set("@id",id)
  11.   end
  12.   def self.search_events(amap,sid=0)
  13.     @whouse[sid] = {} if @whouse[sid] == nil
  14.     amap.events.each{|k,v|
  15.       @whouse[sid][geteventname(v)] = v
  16.     }
  17.   end
  18.   def self.put_event(amap,ename,x,y,sid=0)
  19.     ael = amap.events.length().to_s.to_i + 1
  20.     amap.events.merge!({ael => Marshal.load(Marshal.dump(@whouse[sid][ename]))})
  21.     seteventxyid(amap.events[ael],x,y,ael)
  22.     return ael
  23.   end
  24. end
  25. end

如上,我应当是在迭代外插入值的,但为什么总提示不能在迭代内插入值?

Lv2.观梦者

梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
帖子
34
2
 楼主| 发表于 2019-8-9 10:05:34 | 只看该作者
没有人吗?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9617
在线时间
566 小时
注册时间
2017-9-28
帖子
208
3
发表于 2019-8-9 15:06:57 | 只看该作者
问题出在 put_event,如果你看默认脚本,Game_Map 里有一句
  1. @events.each_value {|event| event.update }
复制代码
用来执行事件
同时你在事件脚本里修改当前地图 $game_map 的事件表 amap.events,简化一下就是
  1. $game_map.events.each_value { |e| $game_map.events.merge!({ ael => x }) }
复制代码
自然是在迭代内插入值的

看这个脚本也不知道你想干嘛,我就不继续展开了

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 认可答案

查看全部评分

喵喵喵
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
帖子
34
4
 楼主| 发表于 2019-8-9 15:30:03 | 只看该作者
hyrious 发表于 2019-8-9 15:06
问题出在 put_event,如果你看默认脚本,Game_Map 里有一句
用来执行事件
同时你在事件脚本里修改当前地图  ...

谢谢dalao,现在明白了,脚本是简化的,只保留了实现部分,其余未给出
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-23 18:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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