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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: shanlong闪龙
打印 上一主题 下一主题

[已经解决] 如何所有地图里植物都生长

[复制链接]

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

11
发表于 2014-3-14 13:43:03 | 只看该作者
本帖最后由 RyanBern 于 2014-3-14 13:44 编辑

用脚本处理可能会稍微方便一些。
先将这段脚本插入到Main之前:
  1. class Game_System
  2.   def current_time
  3.     return Graphics.frame_count / Graphics.frame_rate
  4.   end
  5.   def set_timer(event_id)
  6.     if @events_timer.nil?
  7.       @events_timer = {}
  8.     end
  9.     key = [$game_map.map_id,event_id]
  10.     @events_timer[key] = current_time
  11.   end
  12.   def compare_time(event_id)
  13.     if @events_timer.nil?
  14.       @events_timer = {}
  15.     end
  16.     key = [$game_map.map_id,event_id]
  17.     if @events_timer[key].nil?
  18.       return 0
  19.     end
  20.     return current_time - @events_timer[key]
  21.   end
  22. end
复制代码
然后制作植物的事件页:
第一页:植物未经采摘时的状态
事件出现条件:无
事件开始条件:决定键
事件内容:
脚本:$game_system.set_timer(@event_id)  #原封不动写下来就行
独立开关的操作:A = ON
第二页:植物经过采摘之后的状态
事件出现条件:独立开关 A 为 ON
事件开始条件:并行处理
事件内容:
条件分歧:脚本:$game_system.compare_time(@event_id) > 10
      独立开关的操作:A = OFF
   :分歧结束

注:事件第二页最后那个 > 10 表示延迟时间,单位是秒,即如果你希望植物经过采摘之后经过60秒就生长为未经采摘的状态,就把那个10改成60。
      这种方法能够满足要求,但是并行多了不知道会不会卡,要不行再来找我吧。

评分

参与人数 1星屑 +100 收起 理由
天地有正气 + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2014-2-17
帖子
218
12
 楼主| 发表于 2014-3-14 21:05:33 | 只看该作者
batfjtn 发表于 2014-3-14 01:34
我的意思是你做好的给我看看~!!

看看如何修改下就OK了~!!

我不会发图片……那我还是说吧……
第一页是确定键后得到植物果实,然后独立开关A=ON,然后第二页是采摘后的状态,开始条件是独立开关操作A=ON,然后是并行处理的,等待999帧,然后独立开关A=OFF

点评

这样不行,因为如果999帧没到就出地图的话,冷却时间就要重新计算,只能在当前地图上等待999帧才能进行下一次采摘。  发表于 2014-3-14 21:15
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2014-2-17
帖子
218
13
 楼主| 发表于 2014-3-14 21:06:17 | 只看该作者
RyanBern 发表于 2014-3-14 13:43
用脚本处理可能会稍微方便一些。
先将这段脚本插入到Main之前:然后制作植物的事件页:
第一页:植物未经采 ...

我这个游戏里这种植物的数量相当多,最好不要卡的吧……你能确定流畅吗……
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

14
发表于 2014-3-14 21:11:38 | 只看该作者
shanlong闪龙 发表于 2014-3-14 21:06
我这个游戏里这种植物的数量相当多,最好不要卡的吧……你能确定流畅吗…… ...

只要不在一个地图上放太多并行就可以,植物不在同一张地图上没有关系,因为并行这个东西本身多了就会卡,并不是这个方法有问题。如果不行的话弄个防卡脚本(只判断视野内事件刷新),或者在事件第二页的最后一行设置“暂时消除事件”。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
15
发表于 2014-3-14 21:40:26 | 只看该作者
植物写个类 里面有个属性成长  实例化后加入数组  在地图的update里做一件事情  遍历植物数组 把里面每个元素的 成长值增加
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2014-2-17
帖子
218
16
 楼主| 发表于 2014-3-15 20:33:08 | 只看该作者
RyanBern 发表于 2014-3-14 21:11
只要不在一个地图上放太多并行就可以,植物不在同一张地图上没有关系,因为并行这个东西本身多了就会卡, ...

嗯。但是999帧太短了,最高也只能调到999帧,这怎么办啊?

点评

可以设置多次等待,一次999不行再来一次。  发表于 2014-3-16 09:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2014-2-17
帖子
218
17
 楼主| 发表于 2014-3-16 09:57:44 | 只看该作者
RyanBern 发表于 2014-3-14 13:43
用脚本处理可能会稍微方便一些。
先将这段脚本插入到Main之前:然后制作植物的事件页:
第一页:植物未经采 ...

嗯!!谢谢!可以了!!!!!!!!求加QQ号513432352备注就说是66RPG的大神
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
18
发表于 2014-3-16 16:33:30 | 只看该作者
话说,我有种想法,设计一个计时器,然后用计算时间差的方法来判定植物生长的多少,如果认为我这个方法米有意义请无视。
偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 15:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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